couple-repo/work_chinese/PPT04122025/create_alimentari.js
StillHammer 3d09642576 Add xiezuo PPT: Alimentari Piccolo restaurant review (Italian theme)
Created luxury dark-themed PowerPoint presentation for Chinese writing course:
- 7 slides: title, location, 2 dishes (piadina/croquettes), ambiance, menu CN, credits
- Design: black bg #1A1A1A, gold #D4AF37, Italian flag diagonal (rotated squares)
- All text in Chinese/Italian (zero English)
- Individual HTML slides + conversion script (html2pptx architecture)
- Final version: Alimentari_Piccolo_v3.pptx
- Team: 李知珉、闵智铉、亓昊天

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 07:13:25 +08:00

107 lines
3.9 KiB
JavaScript

const pptxgen = require('pptxgenjs');
const path = require('path');
const html2pptx = require('../../.claude/skills/pptx/scripts/html2pptx.js');
async function createPresentation() {
console.log('🍝 Création présentation Alimentari Piccolo (Design LUXE)...\n');
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_16x9';
pptx.author = 'Alexis - Xiezuo Course';
pptx.title = 'Alimentari Piccolo - 意大利餐吧评价';
pptx.subject = '餐厅评价作业';
try {
// Slide 1: Title
console.log('📄 Slide 1: 封面 LUXE...');
await html2pptx(
path.join(__dirname, 'slides/slide1_title.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 2: Location
console.log('📄 Slide 2: 位置 (hero photo + overlay)...');
await html2pptx(
path.join(__dirname, 'slides/slide2_location.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 3: Piadina
console.log('📄 Slide 3: Piadina (asymétrique)...');
await html2pptx(
path.join(__dirname, 'slides/slide3_piadina.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 4: Croquettes
console.log('📄 Slide 4: Croquettes (asymétrique inversé)...');
await html2pptx(
path.join(__dirname, 'slides/slide4_croquettes.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 5: Ambiance
console.log('📄 Slide 5: Ambiance intérieure + évaluation...');
await html2pptx(
path.join(__dirname, 'slides/slide5_ambiance.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 6: Menu
console.log('📄 Slide 6: Menu (carte CN uniquement)...');
await html2pptx(
path.join(__dirname, 'slides/slide6_menu.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Slide 7: Credits
console.log('📄 Slide 7: Crédits (noms membres)...');
await html2pptx(
path.join(__dirname, 'slides/slide7_credits.html'),
pptx,
{ tmpDir: '/tmp' }
);
// Save
const outputFile = 'Alimentari_Piccolo_v3.pptx';
await pptx.writeFile({ fileName: path.join(__dirname, outputFile) });
console.log('\n✅ 演示文稿创建成功!');
console.log(`📁 文件名: ${outputFile}`);
console.log('📍 位置: work_chinese/PPT04122025/');
console.log('\n🎨 Design LUXE & CLASSE :');
console.log(' ✓ Fond noir #1A1A1A (ultra-premium)');
console.log(' ✓ Or riche #D4AF37 (signature)');
console.log(' ✓ Vert forêt #2D5016 + Bordeaux #8B1A1A');
console.log(' ✓ Barre dorée verticale SIGNATURE');
console.log(' ✓ Pattern géométrique italien');
console.log(' ✓ Drapeau diagonal 3 bandes (rotation globale)');
console.log(' ✓ TOUTES les images utilisées');
console.log(' ✓ Design asymétrique luxueux');
console.log(' ✓ Texte 100% chinois/italien (zéro anglais)');
console.log(' ✓ 7 slides premium');
console.log('\n📝 Contenu :');
console.log(' 1. Titre LUXE avec pattern géométrique');
console.log(' 2. Hero photo extérieur + overlay info (位置/评分/价格)');
console.log(' 3. Piadina (grande photo gauche, info droite)');
console.log(' 4. Croquettes (inversé : info gauche, photo droite)');
console.log(' 5. Ambiance intérieure (2 photos) + évaluation');
console.log(' 6. Menu (carte CN uniquement, centrée)');
console.log(' 7. Crédits (李知珉、闵智铉、亓昊天)');
} catch (error) {
console.error('\n❌ 错误:', error.message);
if (error.stack) {
console.error('\nStack:', error.stack);
}
}
}
createPresentation();