mcpField
P
presentation-generator

presentation-generator

github.com/glebis文档处理401321 次安装1 天前更新
代码仓库

关于 presentation-generator

presentation-generator 是用于将 JSON、YAML 或 Markdown 内容制作成新粗野主义风格演示文稿的技能,适合需要互动 HTML 或导出文件的创作者。它提供多种幻灯片布局,并支持导出 PNG 和 PDF。

主要功能

  1. 01从 JSON、YAML 和 Markdown 生成演示文稿
  2. 02提供多种幻灯片布局
  3. 03生成带导航和键盘控制的互动 HTML
  4. 04导出 PNG 幻灯片和 PDF

适用场景

  1. 01将研讨会笔记整理为演示文稿
  2. 02制作包含代码、统计数据或图片的幻灯片
  3. 03批量导出演示文稿的 PNG 图片
  4. 04生成可打印或分享的 PDF

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/glebis/claude-skills --skill presentation-generator

安装后在 Claude Code 中输入/presentation-generator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.claude-plugin/
plugin.json
scripts/
export-slides.js
generate-presentation.js
templates/
base.html
styles.css

详细介绍

演示文稿生成器

概述

以新粗野主义风格和 Agency 品牌色彩创建精美演示文稿。生成带有平滑滚动导航的交互式 HTML 演示文稿,将各张幻灯片导出为 PNG,或创建 PDF 文档。

输出格式:

  • HTML - 带导航圆点、键盘支持和平滑滚动的交互式演示文稿
  • PNG - 通过 Playwright 导出的单张幻灯片图像(1920x1080)
  • PDF - 通过 Playwright 导出的多页文档

快速开始

1. 根据 JSON/YAML 内容创建演示文稿
node scripts/generate-presentation.js --input content.json --output presentation.html
2. 导出为 PNG 幻灯片
node scripts/export-slides.js presentation.html --format png --output ./slides/
3. 导出为 PDF
node scripts/export-slides.js presentation.html --format pdf --output presentation.pdf

品牌集成

此技能引用 brand-agency,以保持风格一致:

颜色(来自 brand-agency)
颜色十六进制值用途
主色(橙色)#e85d04标题幻灯片、CTA、点缀
次色(黄色)#ffd60a突出显示、点缀幻灯片
强调色(蓝色)#3a86ff信息幻灯片、链接
成功色(绿色)#38b000正向内容
错误色(红色)#d62828警告、强调
前景色#000000文本、边框
背景色#ffffff浅色幻灯片
字体排版
  • 标题:Geist ExtraBold (800)
  • 正文:EB Garamond
  • 代码/ASCII:Geist Mono

幻灯片类型

1. 标题幻灯片(--title)

全屏标题,包含副标题和彩色背景(主色/次色/强调色/深色)。

2. 内容幻灯片(--content)

标题 + 正文 + 可选项目符号列表。

3. 双栏幻灯片(--two-col)

用于对比、文本 + 图像、前后对照的分栏布局。

4. 代码幻灯片(--code)

深色背景,带标题和语法高亮的代码块。

5. 统计数据幻灯片(--stats)

带标签的大号数字(例如,“14 个模板 | 4 种格式 | 1 项技能”)。

6. 任务网格幻灯片(--grid)

由带编号、标题和描述的卡片组成的网格。

7. ASCII 艺术幻灯片(--ascii)

使用 ASCII 边框绘制字符装饰的幻灯片。

8. 图像幻灯片(--image)

全幅或嵌入式图像,可选配说明文字。

ASCII 装饰

使用 ASCII 边框绘制字符,营造科技感:

Frames:   ┌─────┐  ╔═════╗  ┏━━━━━┓
          │     │  ║     ║  ┃     ┃
          └─────┘  ╚═════╝  ┗━━━━━┛

Lines:    ─ │ ═ ║ ━ ┃ ━━━ ───

Arrows:   → ← ↑ ↓ ▶ ◀ ▲ ▼

Shapes:   ● ○ ■ □ ▲ △ ★ ☆ ◆ ◇

Blocks:   █ ▓ ▒ ░

内容格式

JSON 格式:
{
  "title": "Presentation Title",
  "footer": "Company / Date",
  "slides": [
    {
      "type": "title",
      "bg": "primary",
      "title": "Main Title",
      "subtitle": "Subtitle text"
    },
    {
      "type": "content",
      "title": "Section Title",
      "body": "Introduction paragraph",
      "bullets": ["Point 1", "Point 2", "Point 3"]
    },
    {
      "type": "code",
      "title": "Code Example",
      "language": "javascript",
      "code": "const x = 42;"
    },
    {
      "type": "stats",
      "items": [
        {"value": "14", "label": "templates"},
        {"value": "4", "label": "formats"},
        {"value": "∞", "label": "possibilities"}
      ]
    }
  ]
}
YAML 格式:
title: Presentation Title
footer: Company / Date
slides:
  - type: title
    bg: primary
    title: Main Title
    subtitle: Subtitle text

  - type: content
    title: Section Title
    body: Introduction paragraph
    bullets:
      - Point 1
      - Point 2

交互功能

生成的 HTML 包含:

  • 导航圆点 - 固定在右侧边栏的可点击圆点
  • 键盘导航 - 方向键、Page Up/Down、Home/End
  • 平滑滚动 - CSS scroll-snap 和平滑滚动行为
  • Intersection Observer - 高亮显示当前幻灯片
  • 响应式 - 适用于各种屏幕尺寸(针对 16:9 优化)

使用示例

创建研讨会摘要:
# Generate from today's session
node scripts/generate-presentation.js \
  --title "Claude Code Lab — Day Summary" \
  --footer "29.11.2025" \
  --slides slides-content.json \
  --output workshop-summary.html
根据 Markdown 快速创建演示文稿:
# Convert markdown outline to presentation
node scripts/md-to-slides.js notes.md --output presentation.html
批量导出:
# Export all slides as PNGs
node scripts/export-slides.js presentation.html --format png --output ./export/

# Result: slide-01.png, slide-02.png, etc.

文件结构

presentation-generator/
├── SKILL.md              # This file
├── templates/
│   ├── base.html         # Base HTML template
│   ├── slides/           # Slide type partials
│   │   ├── title.html
│   │   ├── content.html
│   │   ├── code.html
│   │   ├── stats.html
│   │   ├── two-col.html
│   │   ├── grid.html
│   │   └── ascii.html
│   └── styles.css        # Neobrutalism styles
├── scripts/
│   ├── generate-presentation.js  # Main generator
│   ├── export-slides.js          # PNG/PDF export
│   └── md-to-slides.js           # Markdown converter
└── output/               # Generated files

依赖项

  • Node.js 18+
  • Playwright(npm install playwright)

提示

  1. 少用 ASCII - 非常适合科技/开发主题的演示文稿,但过多使用会显得过时
  2. 坚持使用品牌色 - 不要混用自定义颜色,请使用 5 色调色板
  3. 标题幻灯片使用大号文本 - h1 至少应为 4-5rem
  4. 每张幻灯片只表达一个观点 - 新粗野主义最适合重点突出的内容
  5. 测试交互功能 - 导出前务必预览 HTML

评论

支持 Markdown