slidev-ppt
npx skills add https://github.com/yulong-me/skills --skill slidev-ppt
Agent 安装分布
Skill 文档
Slidev PPT å¶ä½æè½
Overview
æ¤æè½å¸®å©ç¨æ·ä½¿ç¨ Slidevï¼åºäº Markdown çæ¼ç¤ºæç¨¿å·¥å ·ï¼å¿«éå建ä¸ä¸ç PPTãSlidev ä½¿ç¨ Markdown è¯æ³ï¼æ¯æä»£ç é«äº®ãå¾è¡¨ãVue ç»ä»¶ç强大åè½ï¼ç¹å«éåææ¯å享ã产ååå¸åå塿¼ç¤ºã
å¿«éå¼å§
æ¥éª¤ 1: ç¡®å®éæ±å鿩䏻é¢
询é®ç¨æ·ä»¥ä¸é®é¢ä»¥ç¡®å®æä½³æ¹æ¡ï¼
- æ¼ç¤ºç®ç: ææ¯å享ã产ååå¸ãå塿¥åãåæå±ç¤ºï¼
- ç®æ åä¼: å¼åè ã管çå±ã客æ·ã大ä¼ï¼
- å 容类å: ä»£ç æ¼ç¤ºãæ°æ®å±ç¤ºã徿ç»åï¼
- è¾åºéæ±: ä» é¢è§ãå¯¼åº PDFãå¯¼åº PPTXãå ¨é¨ï¼
æ ¹æ®ç¨æ·åçéæ©åéçé¢è®¾ä¸»é¢ï¼
- business-theme (
assets/business-theme/): 产ååå¸ãå䏿¥åãå£åº¦æ»ç» - tech-theme (
assets/tech-theme/): ææ¯åäº«ãæ¶æè®¾è®¡ãä»£ç æ¼ç¤º - creative-theme (
assets/creative-theme/): 设计å±ç¤ºãä½åéãåæææ¡ - minimal-theme (
assets/minimal-theme/): ç®æ´æ¼ç¤ºãå¿«éåå
æ¥éª¤ 2: æ¶éå 容信æ¯
æ¶éå建æ¼ç¤ºæç¨¿æéçå ³é®ä¿¡æ¯ï¼
å¿ éä¿¡æ¯:
- æ é¢ (title)
- 坿 é¢ (subtitle)
- æ¼è®²è (presenter)
- æ¥æ (date)
主é¢ç¸å ³:
- åå¡ä¸»é¢: å ¬å¸ãèä½ãå ³é®ç¹ãææãä¸ä¸æ¥è®¡å
- ææ¯ä¸»é¢: ææ¯æ ãé®é¢èæ¯ãææ¯æ¹æ¡ã代ç 示ä¾ãæ§è½ææ
- åæä¸»é¢: çµææ¥æºã设计ç念ãè§è§å ç´ ãä½åå¾ç
- æç®ä¸»é¢: ç« èæ é¢ãå 容è¦ç¹ãå ³é®æ¦å¿µ
æ¥éª¤ 3: å建æ¼ç¤ºæç¨¿
ä½¿ç¨ scripts/create_presentation.py 仿¨¡æ¿å建ï¼
python scripts/create_presentation.py <主é¢åç§°> <è¾åºç®å½> [åé...]
示ä¾ï¼
python scripts/create_presentation.py business-theme ./presentation \\
title="2024 Q4 产ååå¸ä¼" \\
subtitle="å
¨æ°åè½å级" \\
presenter="å¼ ä¸" \\
position="产åç»ç" \\
company="ABC ç§æ" \\
date="2024-12-15"
æ¥éª¤ 4: å¯å¨å¼åæå¡å¨ï¼èªå¨é¢è§ï¼
ä½¿ç¨ scripts/start_dev_server.sh å¯å¨å®æ¶é¢è§ï¼
cd <è¾åºç®å½>
bash /path/to/slidev-ppt/scripts/start_dev_server.sh slides.md
æç´æ¥ä½¿ç¨å½ä»¤ï¼
npx slidev slides.md --open
æµè§å¨ä¼èªå¨æå¼ http://localhost:3030
å¼åæå¡å¨ç¹æ§:
- 宿¶é¢è§ï¼ç¼è¾
slides.mdåèªå¨å·æ° - å¹»ç¯ç导èªï¼ç©ºæ ¼é®ãç®å¤´é®ãç¹å»ç¿»é¡µ
- ç»å¾æ¨¡å¼ï¼æ
Dè¿å ¥ï¼å¯å¨å¹»ç¯çä¸ç»å¶ - æ¼è®²è
模å¼ï¼æ
Gæ¥çæ¼è®²è 夿³¨åä¸ä¸é¡µé¢è§ - å
¨å±æ¨¡å¼ï¼æ
Få ¨å±æ¼ç¤º
æ¥éª¤ 5: å¯¼åºæ¼ç¤ºæç¨¿
ç¨æ·å¯éæ©ä»¥ä¸æ¹å¼å¯¼åºï¼
导åºä¸º PDFï¼æ¨èç¨äºå享åæå°ï¼:
bash /path/to/slidev-ppt/scripts/export_pdf.sh slides.md dist
导åºä¸º PPTXï¼æ¨èç¨äºè¿ä¸æ¥ç¼è¾ï¼:
bash /path/to/slidev-ppt/scripts/export_pptx.sh slides.md dist
导åºä¸º PNGï¼æ¨èç¨äºå¶ä½å¾çï¼:
npx slidev export slides.md --format png --output dist
导åºç¹å®é¡µé¢èå´:
npx slidev export slides.md --range 1,3-5,8 --output dist
工使µç¨å³çæ
ç¨æ·è¯·æ±å建 PPT
â
ââ æ¯å¦å·²æå
容ï¼
â ââ æ¯ â ä½¿ç¨æ¨¡æ¿å¿«éçæ
â â ââ åå¡å
容 â business-theme
â â ââ ææ¯å享 â tech-theme
â â ââ åæè®¾è®¡ â creative-theme
â â ââ ç®æ´æ¼ç¤º â minimal-theme
â â
â ââ å¦ â ä»é¶å¼å§
â 1. æ¶éå
容大纲
â 2. ç¡®å®å
容类å
â 3. æ¨èåé主é¢
â 4. çææ¼ç¤ºæç¨¿
â
ââ æ¯å¦éè¦èªå®ä¹ï¼
â ââ å¦ â 使ç¨é¢è®¾ä¸»é¢
â ââ æ¯ â åè主é¢å®å¶æåï¼è§ä¸æ¹ï¼
â
ââ 导åºéæ±ï¼
ââ ä»
é¢è§ â å¯å¨å¼åæå¡å¨
ââ PDF â ä½¿ç¨ export_pdf.sh
ââ PPTX â ä½¿ç¨ export_pptx.sh
ââ å
¨é¨ â å
é¢è§ï¼å导åºå¤ç§æ ¼å¼
主é¢éæ©æå
Business Themeï¼åå¡ä¸»é¢ï¼
éç¨åºæ¯:
- 产ååå¸ä¼
- åä¸è®¡å书
- å£åº¦/年度æ¥å
- 项ç®è¿åº¦æ±æ¥
- å塿æ¡
设计ç¹ç¹:
- ä¸ä¸ãæ£å¼
- åæ å¸å±ï¼ç®å½ + 详æ ï¼
- æ¯ææ°æ®å¾è¡¨
- å 嫿æåè®¡åæ»ç»
å¿ éåé:
title, subtitle, presenter, position, company, date
slide1_title, slide1_content, point1, point2
# ... å
¶ä»å
容åé
模æ¿ä½ç½®: assets/business-theme/slides.md
Tech Themeï¼ææ¯ä¸»é¢ï¼
éç¨åºæ¯:
- ææ¯å享ä¼
- ä»£ç æ¼ç¤º
- æ¶æè®¾è®¡è®²è§£
- ææ¯æ¹æ¡è¯å®¡
- å¼åç»éªæ»ç»
设计ç¹ç¹:
- ä½¿ç¨ Apple Basic 主é¢
- 代ç é«äº®ï¼shikiï¼
- æ¯ææ¶æå¾ï¼Mermaidï¼
- ææ¯æ å±ç¤º
- æ§è½ä¼å对æ¯
å¿ éåé:
title, subtitle, presenter, position, date
tech_stack, current_situation, challenges, goals
code_title, code_example, code_explanation
# ... å
¶ä»ææ¯åé
模æ¿ä½ç½®: assets/tech-theme/slides.md
Creative Themeï¼åæä¸»é¢ï¼
éç¨åºæ¯:
- 设计ä½åå±ç¤º
- åæææ¡
- è§è§è®¾è®¡å享
- åçè®¾è®¡æ¹æ¡
- èºæ¯ä½åé
设计ç¹ç¹:
- ä½¿ç¨ Seriph 主é¢
- ä¼é ç Serif åä½
- å¾çå±ç¤ºå¸å±
- é è²æ¹æ¡å±ç¤º
- æç»´å¯¼å¾æ¯æ
å¿ éåé:
title, subtitle, cover_image, presenter
inspiration_intro, core_concept, design_philosophy
color_scheme, font_choice, graphic_elements
work1_image, work1_description, work2_image, work2_description
# ... å
¶ä»åæåé
模æ¿ä½ç½®: assets/creative-theme/slides.md
Minimal Themeï¼æç®ä¸»é¢ï¼
éç¨åºæ¯:
- ç®æ´çæ¼ç¤ºæç¨¿
- å¿«éåå
- 讲座åæå¦
- æ¦å¿µä»ç»
- è½»é级å享
设计ç¹ç¹:
- æç®è®¾è®¡
- æ¸ æ°çææ¬å¸å±
- åºç¡å表å±ç¤º
- ç®åçå¾è¡¨æ¯æ
å¿ éåé:
title, subtitle, presenter, date
section1, section1_id, section1_content
section2, section2_id, section2_intro, key_concept
# ... å
¶ä»ç« èåé
模æ¿ä½ç½®: assets/minimal-theme/slides.md
é«çº§å®å¶
èªå®ä¹æ ·å¼
å¦æç¨æ·éè¦èªå®ä¹æ ·å¼ï¼åè以ä¸èµæºï¼
åèææ¡£:
references/syntax.md– Slidev è¯æ³å®æ´åèreferences/themes.md– 主é¢å®å¶åé è²æ¹æ¡references/quickstart.md– å¿«éå ¥é¨æå
èªå®ä¹æ¹æ³:
- ä¿®æ¹é¢è²æ¹æ¡: ç¼è¾
slides.mdç frontmatter
---
theme: default
primary: '#5c7cfa'
secondary: '#6666ff'
---
- å建èªå®ä¹å¸å±: å¨é¡¹ç®ç®å½å建
layouts/æä»¶å¤¹
<!-- layouts/custom.vue -->
<template>
<div class="slide-custom-layout">
<slot />
</div>
</template>
- æ·»å èªå®ä¹ç»ä»¶: å¨é¡¹ç®ç®å½å建
components/æä»¶å¤¹
<!-- components/InfoCard.vue -->
<template>
<div class="info-card border rounded-lg p-6">
<h3>{{ title }}</h3>
<p>{{ content }}</p>
</div>
</template>
常ç¨è¯æ³éæ¥
| åè½ | è¯æ³ | ç¤ºä¾ |
|---|---|---|
| æ°å¹»ç¯ç | --- |
---\n# æ°é¡µé¢ |
| 代ç å | “`lang | “`typescript\nconsole.log()\n“` |
| é«äº®è¡ | “`ts {1-2} | é«äº®ç¬¬ 1-2 è¡ |
| åæ å¸å± | layout: two-cols |
è§å䏻颿¨¡æ¿ |
| ç¹å»æ¾ç¤º | <v-clicks> |
é项æ¾ç¤ºå 容 |
| å¾è¡¨ | “`mermaid | æµç¨å¾ãæ¶åºå¾ç |
| LaTeX | $formula$ |
$\sum_{i=1}^n x_i$ |
| 徿 | <carbon:user /> |
ä½¿ç¨ Carbon 徿 |
| ç®å½ | <Toc /> |
èªå¨çæç®å½ |
宿´è¯æ³è§ references/syntax.md
æ éæé¤
é®é¢: Slidev æªå®è£
è§£å³:
npm init slidev
# æ
npm install @slidev/cli @slidev/theme-default
é®é¢: 模æ¿åéæªæ¿æ¢
åå : åéåä¸å¹é ææ ¼å¼é误
è§£å³: ç¡®ä¿åéæ ¼å¼ä¸º key=valueï¼ä¸ key 䏿¨¡æ¿ä¸ç {{key}} å¹é
# æ£ç¡®
python create_presentation.py business-theme ./out title="æ é¢"
# é误
python create_presentation.py business-theme ./out æ é¢
é®é¢: å¯¼åº PDF 失败
åå : å¯è½æ¯ç¼ºå°ä¾èµææéé®é¢
è§£å³:
# æ£æ¥ Node.js çæ¬
node --version # åº >= 14.0
# éæ°å®è£
ä¾èµ
npm install
# ä½¿ç¨ sudoï¼Linux/Macï¼
sudo npm install -g @slidev/cli
é®é¢: å¾ç䏿¾ç¤º
è§£å³:
- 使ç¨ç»å¯¹è·¯å¾ææ¾å¨
public/ç®å½ - æ£æ¥æä»¶è·¯å¾å¤§å°åï¼Linux åºå大å°åï¼
- 使ç¨ç½ç»å¾çç¡®ä¿å¯è®¿é®
é®é¢: 䏿æ¾ç¤ºå¼å¸¸
è§£å³:
---
fonts:
sans: 'Noto Sans SC'
serif: 'Noto Serif SC'
webfontUrls:
- 'https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap'
---
æä½³å®è·µ
å 容ç»ç»
- éµå¾ª”æ¯é¡µä¸è§ç¹”åå: æ¯ä¸ªå¹»ç¯çåªè®²ä¸ä¸ªæ ¸å¿è§ç¹
- ä½¿ç¨æ¸è¿æ¾ç¤º: ç¨
<v-clicks>æ§å¶ä¿¡æ¯æµï¼é¿å 䏿¬¡æ§å±ç¤ºè¿å¤å 容 - 代ç 示ä¾ä¼å:
- éå¶ä»£ç é¿åº¦ï¼< 20 è¡ï¼
- 使ç¨é«äº®çªåºå ³é®è¡
- æ·»å æ³¨é说æ
设计åå
- ä¸è´æ§: ä¿æé è²ãåä½ãé´è·çä¸è´æ§
- 对æ¯åº¦: ç¡®ä¿ææ¬åèæ¯æè¶³å¤å¯¹æ¯åº¦
- çç½: é¿å å 容è¿äºæ¥æ¤ï¼éå½çç½
- 对é½: ä¿æå ç´ å¯¹é½ï¼ä½¿ç¨ç½æ ¼å¸å±
æ¼ç¤ºæå·§
- æç»: ä½¿ç¨æ¼è®²è
模å¼ï¼æ
Gï¼è¿è¡æç» - æ¶é´æ§å¶: æ¯é¡µå¹»ç¯ç约 2-3 åé
- äºå¨: 使ç¨ç»å¾æ¨¡å¼ï¼æ
Dï¼è¿è¡æ 注 - å¤ç¨: å¯¼åº PDF ä½ä¸ºå¤ä»½ï¼é²æ¢ææ¯æ é
示ä¾åºæ¯
åºæ¯ 1: ææ¯å享 – Vue3 æä½³å®è·µ
# ä½¿ç¨ææ¯ä¸»é¢
python scripts/create_presentation.py tech-theme ./vue3-talk \\
title="Vue3 æä½³å®è·µ" \\
subtitle="æåå¼åæçå代ç è´¨é" \\
presenter="å¼ ä¸" \\
position="åç«¯æ¶æå¸" \\
date="2024-12-20" \\
tech_stack="Vue3, TypeScript, Vite" \\
current_situation="项ç®è¿ç§»å° Vue3 åéå°çé®é¢" \\
challenges="æ§è½ä¼åã代ç ç»ç»ãç±»åå®å
¨" \\
goals="建ç«ç»ä¸çå¼åè§èåæä½³å®è·µ"
# å¯å¨é¢è§
cd vue3-talk
npx slidev slides.md --open
# å¯¼åº PDF
npx slidev export slides.md --output dist
åºæ¯ 2: 产ååå¸ä¼ – æ°åè½ä»ç»
# 使ç¨åå¡ä¸»é¢
python scripts/create_presentation.py business-theme ./product-launch \\
title="ABC 产å v2.0 åå¸ä¼" \\
subtitle="å
¨æ°åè½ï¼å
¨æ°ä½éª" \\
presenter="æå" \\
position="äº§åæ»ç" \\
company="ABC ç§æ" \\
date="2024-12-25" \\
point1="æºè½æ¨èç³»ç»ä¸çº¿" \\
point2="æ§è½æå 300%" \\
achievement1="ç¨æ·å¢é¿ 150%" \\
achievement2="æ¶å
¥å¢é¿ 200%"
cd product-launch
npx slidev slides.md --open
åºæ¯ 3: 设计ä½åé – UI/UX 设计å±ç¤º
# 使ç¨åæä¸»é¢
python scripts/create_presentation.py creative-theme ./design-portfolio \\
title="2024 设计ä½åé" \\
subtitle="UI/UX 设计æ¡ä¾ç²¾é" \\
presenter="çäº" \\
cover_image="./public/cover.jpg" \\
core_concept="ç®çº¦èä¸ç®å" \\
design_philosophy="ç¨æ·è³ä¸ï¼ä½éªä¼å
" \\
color_scheme="主è²: #5c7cfa, è¾
è²: #6666ff" \\
work1_image="./public/work1.jpg" \\
work1_description="çµå APP æ¹ç设计" \\
work2_image="./public/work2.jpg" \\
work2_description="ä¼ä¸åå°ç³»ç»è®¾è®¡"
cd design-portfolio
npx slidev slides.md --open
èµæº
scripts/
坿§è¡èæ¬ï¼ç¨äºå建ãå¯å¨åå¯¼åºæ¼ç¤ºæç¨¿ï¼
-
create_presentation.py – 仿¨¡æ¿å建æ°çæ¼ç¤ºæç¨¿
- ç¨æ³:
python create_presentation.py <主é¢> <ç®å½> [åé...] - 示ä¾: è§ä¸æ¹ç¤ºä¾åºæ¯
- ç¨æ³:
-
start_dev_server.sh – å¯å¨ Slidev å¼åæå¡å¨
- ç¨æ³:
bash start_dev_server.sh <slides.md> - åè½: 宿¶é¢è§ãèªå¨å·æ°
- ç¨æ³:
-
export_pdf.sh – 导åºä¸º PDF
- ç¨æ³:
bash export_pdf.sh <slides.md> [è¾åºç®å½] - åè½: çæé«è´¨é PDF æä»¶
- ç¨æ³:
-
export_pptx.sh – 导åºä¸º PPTX
- ç¨æ³:
bash export_pptx.sh <slides.md> [è¾åºç®å½] - åè½: çæå¯ç¼è¾ç PowerPoint æä»¶
- ç¨æ³:
assets/
é¢è®¾ä¸»é¢æ¨¡æ¿ï¼å å«å®æ´ç slides.md æä»¶ï¼
-
business-theme/ – åå¡é£æ ¼æ¨¡æ¿
- éç¨äº: 产ååå¸ãå䏿¥åãé¡¹ç®æ±æ¥
- ç¹ç¹: ä¸ä¸ãæ£å¼ãæ°æ®å¾è¡¨æ¯æ
-
tech-theme/ – ææ¯å享模æ¿
- éç¨äº: ææ¯å享ãä»£ç æ¼ç¤ºãæ¶æè®²è§£
- ç¹ç¹: 代ç é«äº®ãæ¶æå¾ãææ¯æ å±ç¤º
-
creative-theme/ – åæè®¾è®¡æ¨¡æ¿
- éç¨äº: 设计å±ç¤ºãä½åéãåæææ¡
- ç¹ç¹: ä¼é åä½ãå¾çå±ç¤ºãé è²æ¹æ¡
-
minimal-theme/ – æç®é£æ ¼æ¨¡æ¿
- éç¨äº: ç®æ´æ¼ç¤ºãå¿«éååãæå¦è®²åº§
- ç¹ç¹: æç®è®¾è®¡ãæ¸ æ°å¸å±ãåºç¡å¾è¡¨
references/
详ç»åèææ¡£ï¼ä¾æ·±å ¥å¦ä¹ 使ç¨ï¼
-
syntax.md – Slidev è¯æ³å®æ´åè
- å 容: åºæ¬è¯æ³ãå¸å±ç³»ç»ã代ç åãå¾è¡¨ã交äºå ç´
- 使ç¨: éè¦äºè§£è¯¦ç»è¯æ³æ¶æ¥é
-
themes.md – 主é¢å®å¶åé è²æ¹æ¡
- å 容: å 置主é¢ãé¢è²æ¹æ¡ãåä½å®å¶ãæ ·å¼èªå®ä¹
- 使ç¨: éè¦èªå®ä¹ä¸»é¢åæ ·å¼æ¶æ¥é
-
quickstart.md – å¿«éå ¥é¨æå
- å 容: å®è£ ãåºæ¬ä½¿ç¨ãæä»¶ç»æã常è§é®é¢
- 使ç¨: 忬¡ä½¿ç¨ Slidev æ¶é 读
å è½½çç¥: å½ç¨æ·éè¦æ·±å ¥äºè§£è¯æ³ã主é¢å®å¶æéå°é®é¢æ¶ï¼æéå 载对åºçåèææ¡£ã
ç¸å ³èµæº
宿¹ææ¡£:
社åºèµæº: