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>
69 lines
2.4 KiB
JavaScript
69 lines
2.4 KiB
JavaScript
// 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 };
|