- v3 다크 테마(#0B1929) → v4 라이트 테마(#F8FAFC)로 변환 - 텍스트 색상: 흰색 → 슬레이트 계열(#0F172A, #475569, #94A3B8) - 카드 배경: 반투명 다크 → 화이트 + 그림자/테두리 - BI 로고: sam_bi_white → sam_bi_black - 앞면/뒷면/1page 통합본 HTML + PPTX 변환 스크립트 포함
32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
const path = require('path');
|
|
module.paths.unshift(path.join(require('os').homedir(), '.claude/skills/pptx-skill/scripts/node_modules'));
|
|
|
|
const PptxGenJS = require('pptxgenjs');
|
|
const html2pptx = require(path.join(require('os').homedir(), '.claude/skills/pptx-skill/scripts/html2pptx.js'));
|
|
|
|
async function main() {
|
|
const pres = new PptxGenJS();
|
|
|
|
pres.defineLayout({ name: 'PORTRAIT_9x16', width: 5.625, height: 10 });
|
|
pres.layout = 'PORTRAIT_9x16';
|
|
|
|
const slidesDir = path.join(__dirname, 'slides');
|
|
const slides = ['brochure-dashboard-front.html', 'brochure-dashboard-back.html'];
|
|
|
|
for (const file of slides) {
|
|
const htmlFile = path.join(slidesDir, file);
|
|
console.log(`Converting ${file} ...`);
|
|
try {
|
|
await html2pptx(htmlFile, pres);
|
|
} catch (err) {
|
|
console.error(`Error on ${file}: ${err.message}`);
|
|
}
|
|
}
|
|
|
|
const outputPath = path.join(__dirname, 'sam-brochure-v4-dashboard-2page.pptx');
|
|
await pres.writeFile({ fileName: outputPath });
|
|
console.log(`\nPPTX created: ${outputPath}`);
|
|
}
|
|
|
|
main().catch(console.error);
|