Files
vela/slides/slide-04.js
秋芝2046 55a2e59c15 feat: redesign PPT v2 — Platinum White Gold, cinematic narrative
Complete redesign addressing feedback:
- New palette: near-black / electric blue / gold (Platinum White Gold)
- Full-bleed images with dark overlays instead of constrained boxes
- Geometric shape icons replacing emoji
- Narrative arc: stakes → before/after → scenes → impact
- One strong message per slide, reduced text density
- Section dividers with dramatic large-number typography

Slides:
  01: Cover (full-bleed Anna image + dark overlay)
  02: Stakes — giant '30' stat callout + responsibility cards
  03: Before/After — stark split-column comparison
  04: Section divider — '早晨,它已经开始工作了'
  05: Morning automation — 3 timed cards (09:00)
  06: WeChat AI — full-bleed left image + 3-step flow
  07: Section divider — content-engine full-bleed image
  08: Content engine — 4-agent horizontal pipeline
  09: Trigger system — dark '28 days' stat + alert card
  10: Closing — split layout brand statement + 5 core values

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-14 18:32:40 +08:00

69 lines
2.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// slide-04.js — Section Divider: 01 早晨
const pptxgen = require("pptxgenjs");
const slideConfig = { type: 'section-divider', index: 4 };
function createSlide(pres, theme) {
const slide = pres.addSlide();
slide.background = { color: theme.primary };
// Large semi-transparent "01"
slide.addText("01", {
x: 0.3, y: -1.0, w: 9, h: 4.8,
fontSize: 220, fontFace: "Georgia", color: theme.secondary, bold: true,
align: "left", valign: "top", transparency: 82
});
// Gold accent line
slide.addShape(pres.shapes.RECTANGLE, {
x: 0.7, y: 2.65, w: 3.5, h: 0.07,
fill: { color: theme.accent }, line: { color: theme.accent }
});
// Section title
slide.addText("早晨,它已经开始工作了", {
x: 0.7, y: 2.8, w: 8, h: 0.95,
fontSize: 44, fontFace: "Microsoft YaHei", color: "FFFFFF", bold: true, align: "left"
});
// Subtitle
slide.addText("Anna 的咖啡还没凉12 条推文已经送达 12 个加盟商", {
x: 0.7, y: 3.85, w: 8, h: 0.5,
fontSize: 18, fontFace: "Microsoft YaHei", color: "a0a0a0", bold: false, align: "left"
});
// Right pills
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 8.4, y: 0.5, w: 1.2, h: 0.42,
fill: { color: theme.secondary }, line: { color: theme.secondary }, rectRadius: 0.21
});
slide.addText("推文", {
x: 8.4, y: 0.5, w: 1.2, h: 0.42,
fontSize: 14, fontFace: "Microsoft YaHei", color: "FFFFFF", bold: true, align: "center", valign: "middle"
});
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 8.4, y: 1.08, w: 1.2, h: 0.42,
fill: { color: theme.accent }, line: { color: theme.accent }, rectRadius: 0.21
});
slide.addText("提醒", {
x: 8.4, y: 1.08, w: 1.2, h: 0.42,
fontSize: 14, fontFace: "Microsoft YaHei", color: theme.primary, bold: true, align: "center", valign: "middle"
});
// Page badge
slide.addShape(pres.shapes.OVAL, { x: 9.3, y: 5.1, w: 0.4, h: 0.4, fill: { color: theme.accent } });
slide.addText("4", {
x: 9.3, y: 5.1, w: 0.4, h: 0.4,
fontSize: 12, fontFace: "Arial", color: theme.primary, bold: true, align: "center", valign: "middle"
});
return slide;
}
if (require.main === module) {
const pres = new pptxgen(); pres.layout = 'LAYOUT_16x9';
const theme = { primary: "0a0a0a", secondary: "0070F3", accent: "D4AF37", light: "f5f5f5", bg: "ffffff" };
createSlide(pres, theme);
pres.writeFile({ fileName: "slide-04-preview.pptx" });
}
module.exports = { createSlide, slideConfig };