Marp — 用 Markdown 写幻灯片的完整生态

> 一句话版本:把 Markdown 变成 PPT——用 --- 分页,写完直接导出 PDF/HTML/PPTX。有 CLI、VS Code 插件、Web 编辑器、React/Vue 组件,生态成熟且持续维护 8 年。

项目信息
来源https://github.com/marp-team/marp
官网https://marp.app
创建时间2018-03-25
Stars11,314Forks 256
语言TypeScript
许可证MIT
作者Yuki Hattori (@yhatt) + marp-team
最新推送2026-04-12(持续活跃)
Open Issues仅 1 个

核心内容

生态架构

Marp 不是单一项目,而是一个模块化的 Markdown 幻灯片生态


┌─────────────────────────────────────────┐
│ 用户界面层                              │
│ ├── Marp CLI        命令行转换工具       │
│ ├── Marp for VS Code  实时预览 + 导出    │
│ ├── Marp Web        PWA Web 编辑器      │
│ ├── Marp React      React 渲染组件      │
│ └── Marp Vue        Vue 渲染组件         │
├─────────────────────────────────────────┤
│ 转换引擎层                              │
│ ├── Marp Core       实用转换 + 内置主题  │
│ └── Marpit          核心解析引擎         │
└─────────────────────────────────────────┘

写法


marp: true
theme: default
paginate: true

# 第一页标题

这是普通 Markdown 内容


## 第二页

- 列表项
- 支持 **加粗** 和 *斜体*
- 代码块:

\`\`\`python
print("Hello, Marp!")
\`\`\`


<!-- _class: lead -->

# 封面页

居中大标题

Marpit 引擎(核心)

导出格式

格式说明
HTML自包含的静态网页(内嵌 CSS + JS)
PDF通过 Puppeteer 渲染
PPTXPowerPoint 格式
PNG/JPEG幻灯片图片
PDF × Notes带演讲者备注的 PDF

CLI 用法


# 安装
npm install -g @marp-team/marp-cli

# 转 PDF
marp slides.md --pdf

# 转 PPTX
marp slides.md --pptx

# 转 HTML
marp slides.md -o slides.html

# 监听模式(自动刷新)
marp -s slides.md

VS Code 插件

与竞品对比

维度Marpreveal.jsSlidevRemark
输入MarkdownMarkdownMarkdownMarkdown
导出 PDF✅ CLI❌ 需插件
导出 PPTX
VS Code 集成✅ 官方
主题系统CSS 变量CSSVue SFCCSS
动画Fragments丰富丰富基础
代码高亮Shikihighlight.jsShikihighlight.js
演讲者模式
React/Vue 组件
Stars11K69K15K15K
定位静态文档交互演示开发者演示轻量演示

Marp 的独特优势:PPTX 导出 + React/Vue 组件嵌入 + 极简 CLI。适合需要交付 PowerPoint 文件的场景。

分析

优势

不足

与 Jay 的关联

评分

维度评分 (1-10)说明
完成度98 年打磨,1 个 open issue,CLI + VS Code + Web + 组件全覆盖
易用性9会 Markdown 就会用,学习成本几乎为零
生态完整性8导出格式齐全,主题可定制,React/Vue 组件
创新性5Markdown 转 slides 不算新,Marpit 引擎设计不错
差异化7PPTX 导出 + 组件嵌入是独特优势
与 Jay 的关联6报告转演示有用,但不是刚需
**总分****7.3**成熟稳定的工具,PPTX 导出是杀手锏