📝 博客 · 2026-08-02 · ⏱ 15 分钟

Markdown 转 PPT:一键生成演示文稿

Markdown 转 PPT 教程:用 Marp 语法把纯文本变成精美幻灯片,支持主题、布局、导出 PDF/HTML/PPTX。

MarkdownPPT演示文稿Marp

Markdown 转 PPT:一键生成演示文稿

写 PPT 最费时间——选模板、调字体、对齐元素。但如果你先用 Markdown 写内容,再用工具一键转 PPT,效率提升 10 倍。本文详解 Markdown 转 PPT 的方法。

为什么用 Markdown 写 PPT?

传统 PPT 的痛点

Markdown 的优势

Marp:Markdown 转 PPT 的事实标准

Marp(Markdown Presentation Ecosystem)是开源项目,把 Markdown 转 PPT。

基本语法

---
marp: true
theme: default
---

# 第一页标题

内容

---

# 第二页标题

内容

--- 分隔每页幻灯片。

52tool Markdown 编辑器

工具地址:Markdown 编辑器

功能

实战 1:基本 PPT

输入:

---
marp: true
theme: default
---

# 项目介绍

张三 | 2026-08-02

---

# 议程

1. 项目背景
2. 技术方案
3. 实施计划
4. Q&A

---

# 项目背景

- 痛点:用户增长慢
- 机会:移动端流量爆发
- 目标:3 个月内月活翻倍

右侧实时显示幻灯片效果。

实战 2:选择主题

---
marp: true
theme: gaia
---

可选主题:

实战 3:自定义样式

---
marp: true
theme: default
style: |
  section {
    background: linear-gradient(to right, #667eea, #764ba2);
    color: white;
  }
  h1 {
    color: yellow;
  }
---

Marp 完整语法

分页

第一页内容

---

第二页内容

幻灯片元数据

每张幻灯片可单独设置:

<!-- _class: lead -->

# 居中大标题页

<!-- _class: invert -->

# 反色背景页

<!-- _paginate: false -->

# 不显示页码的页

directives(指令)

文件顶部全局指令:

---
marp: true
theme: default
paginate: true         # 显示页码
size: 16:9             # 16:9 或 4:3
backgroundColor: #fff
color: #333
header: '...'
footer: '...'
---

每张幻灯片局部指令:

<!-- backgroundColor: #f0f0f0 -->

# 这页背景灰色

<!-- color: red -->

# 这页文字红色

标题页(lead)

<!-- _class: lead -->

# 主标题

副标题

居中显示。

反色页(invert)

<!-- _class: invert -->

# 深色背景

图片

![bg right](image.png)        背景图右侧
![bg left](image.png)         背景图左侧
![bg contain](image.png)      图片完整显示
![bg cover](image.png)        图片填充
![bg fit](image.png)          适配
![width:500px](image.png)     指定宽度
![height:300px](image.png)   指定高度

全屏背景图

![bg](background.png)

# 标题

文字

多列布局

<div class="columns">

<div>

## 左列

- 项目 1
- 项目 2

</div>

<div>

## 右列

- 项目 3
- 项目 4

</div>

</div>

需要主题支持 columns 类。

代码高亮

def hello():

print("Hello, World!")

支持 200+ 语言。

表格

| 名称 | 价格 |
|------|------|
| 苹果 | 5 元 |
| 香蕉 | 3 元 |

引用

> 这是一段引用
> 多行

列表

- 项目 1
- 项目 2
  - 子项目

数学公式

行内公式 $E = mc^2$

块级公式:
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

实战:技术分享 PPT

---
marp: true
theme: gaia
paginate: true
size: 16:9
---

<!-- _class: lead -->

# React Hooks 实战

张三 | 2026-08-02

---

# 议程

1. Hooks 是什么
2. 常用 Hooks
3. 自定义 Hooks
4. 最佳实践

---

# Hooks 是什么

React 16.8 引入的特性:

- 在函数组件中使用 state
- 不需要写 class 组件
- 逻辑可复用

const [count, setCount] = useState(0);


---

# useState

最基础的 Hook:

function Counter() {

const [count, setCount] = useState(0);

return ;

}


---

<!-- _class: invert -->

# useEffect

处理副作用

---

# 自定义 Hook

function useWindowSize() {

const [size, setSize] = useState({w: 0, h: 0});

useEffect(() => {

const handler = () => setSize({w: innerWidth, h: innerHeight});

window.addEventListener('resize', handler);

return () => window.removeEventListener('resize', handler);

}, []);

return size;

}


---

<!-- _class: lead -->

# Q&A

谢谢!

实战:项目周报 PPT

---
marp: true
theme: default
paginate: true
header: '项目周报'
footer: '2026-08-02'
---

<!-- _class: lead -->

# 项目周报

张三 | 团队 A

---

# 上周进度

## 已完成

- [x] 用户模块开发
- [x] 数据库设计
- [x] API 文档

## 进行中

- [ ] 性能优化
- [ ] 测试覆盖

---

# 本周计划

| 任务 | 负责人 | 截止 |
|------|--------|------|
| 性能优化 | 张三 | 周三 |
| 单元测试 | 李四 | 周五 |
| 上线准备 | 王五 | 周日 |

---

# 风险与问题

1. **资源不足**:需要增加 1 名后端
2. **依赖延迟**:第三方 API 上线推迟
3. **测试环境**:服务器不稳定

---

<!-- _class: lead -->

# 谢谢

导出 PPT

导出 HTML

52tool 编辑器导出 HTML,可在浏览器全屏演示。

导出 PDF

浏览器打印为 PDF(Ctrl+P),选择"保存为 PDF"。

导出 PPTX

安装 Marp CLI:

npm install -g @marp-team/marp-cli
marp slides.md --pptx

得到可编辑的 .pptx 文件。

导出 PDF(命令行)

marp slides.md --pdf

主题定制

自定义主题

---
marp: true
theme: default
style: |
  /* 全局样式 */
  section {
    font-family: 'Microsoft YaHei', sans-serif;
    background: #fafafa;
    color: #333;
  }
  
  /* 标题样式 */
  h1 {
    color: #2c3e50;
    border-bottom: 3px solid #3498db;
    padding-bottom: 10px;
  }
  
  /* 代码块 */
  pre {
    background: #2d2d2d;
    color: #f8f8f2;
    border-radius: 8px;
  }
  
  /* 引用 */
  blockquote {
    border-left: 4px solid #3498db;
    background: #ecf0f1;
    padding: 10px 20px;
  }
---

自定义 CSS 类

<!-- _class: lead -->

# 居中页

<!-- _class: summary -->

# 总结页(自定义类)
summary {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
}

与其他工具对比

工具优势劣势
PowerPoint所见即所得难协作、样式繁琐
Keynote美观、动画强仅 Mac
Google Slides协作好需联网
MarpMarkdown 写、Git 管理设计感弱
Reveal.jsHTML/JS 灵活学习曲线陡
Slidev(Vue)现代化、Vue 生态需 Node

适合场景

适合用 Markdown PPT

不适合用 Markdown PPT

进阶技巧

技巧 1:用 mermaid 画流程图

graph TD

A[用户请求] --> B{已登录?}

B -- 是 --> C[返回数据]

B -- 否 --> D[跳转登录]

技巧 2:嵌入 HTML

<iframe src="https://www.youtube.com/embed/..." width="800" height="450">
</iframe>

技巧 3:动画

section {
  animation: fadeIn 1s;
}

技巧 4:多列卡片

<div style="display: flex; gap: 20px;">
  <div style="flex: 1; background: #f0f0f0; padding: 20px;">
    <h3>卡片 1</h3>
    内容
  </div>
  <div style="flex: 1; background: #f0f0f0; padding: 20px;">
    <h3>卡片 2</h3>
    内容
  </div>
</div>

常见问题解答

Q: Marp 与 Slidev 哪个好?

A: Marp 更简单、跨语言;Slidev 更现代、Vue 生态。技术分享两者都行,初学者选 Marp,Vue 开发者选 Slidev。

Q: Marp 支持中文吗?

A: 支持。主题字体可设置中文字体:font-family: 'Microsoft YaHei', sans-serif;

Q: 转出的 PPTX 能再编辑吗?

A: 能。但 Marp 转出的 PPTX 每页是图片+文字框组合,编辑不如原生 PPT 方便。

Q: Marp 主题哪里下载?

A: GitHub 搜 "marp-theme"。官方主题:default、gaia、uncover。社区主题很多。

Q: 多人协作怎么做?

A: 把 Markdown 文件存 Git 仓库,团队 PR 协作。演示时各自导出 PPT 即可。

Q: 工具会保存我的 PPT 内容吗?

A: 52tool Markdown 编辑器在浏览器端运行,内容不上传服务器。敏感内容(如内部数据)可放心使用。

总结

Markdown 转 PPT 是开发者高效演示的方案:

记住:内容用 Markdown 写,样式用 CSS 控制。比 PowerPoint 效率高 10 倍,但商业演示还是用专业设计工具。