Marp CLI快速入门

目录

Marp CLI

定义

Marp CLI 是 Markdown Presentation Ecosystem 的命令行接口工具,能够将 Markdown 文件转换为 HTML、PDF、PowerPoint 和图片格式的演示文稿。

技术定位

Marp CLI 位于 文档工具链 中的演示文稿生成层,基于 Marpit 框架和 @marp-team/marp-core 引擎,为开发者提供 纯文本驱动的幻灯片创作体验。


核心特性

  • Markdown 原生语法 :使用 CommonMark 标准 Markdown 编写幻灯片,通过 --- 分隔页面
  • 多格式导出:支持输出为 HTML、PDF、PPTX、PNG/JPEG 等格式
  • 主题系统 :内置 defaultgaiauncover 三套官方主题,支持自定义 CSS 主题
  • 指令控制 :通过 Directives(如 <!-- theme: gaia -->)控制主题、分页、样式等
  • 实时预览 :提供 --watch 模式和本地服务器预览功能
  • CI/CD 友好:可集成到 [[GitHub Actions]]、[[GitLab CI]] 等自动化流程

工作原理

转换流程

HTML
PDF
PPTX
Image
Markdown 文件
Marp Core 解析器
Marpit 框架
输出格式
静态网页
Chrome Headless
PowerPoint 文档
PNG/JPEG

关键机制

  1. Directives 系统 :通过 HTML 注释语法(<!-- key: value -->)注入元数据

    • 全局指令:影响整个文档(如 themepaginate
    • 局部指令:仅作用于当前页面(如 _class_backgroundColor
  2. 主题渲染:基于 [[CSS]] 的主题系统,支持 Scoped CSS 和变量覆盖

  3. PDF 生成:通过 [[Puppeteer]] 驱动 Chrome 无头浏览器进行打印


快速上手

安装

bash 复制代码
# 全局安装
npm install -g @marp-team/marp-cli

# 项目依赖
npm install --save-dev @marp-team/marp-cli

最简示例

创建 slides.md

markdown 复制代码
---
marp: true
theme: gaia
paginate: true
---

# 欢迎使用 Marp
这是第一页幻灯片

---

## 核心功能
- Markdown 语法
- 多格式导出
- 自定义主题

---

<!-- _class: lead -->
# 谢谢观看

转换命令

bash 复制代码
# 生成 HTML
marp slides.md

# 生成 PDF(需要 Chrome/Chromium)
marp slides.md --pdf

# 生成 PowerPoint
marp slides.md --pptx

# 实时预览
marp -w -s slides.md

预期结果

  • HTML 输出:slides.html(包含内联 CSS)
  • PDF 输出:slides.pdf(保留字体和样式)
  • 预览服务器:http://localhost:8080

优缺点对比

维度 优势 (Pros) 局限 (Cons)
易用性 纯文本编辑,版本控制友好 复杂动画需要自定义 CSS
性能 静态输出,加载速度快 PDF 生成依赖 Chrome,资源占用高
扩展性 支持自定义主题和插件 交互功能有限(非 Web 应用)
生态 与 [[VS Code]]、[[Obsidian]] 集成良好 社区主题资源相对较少
跨平台 Node.js 环境即可运行 PPTX 导出功能相对基础

自定义主题

css 复制代码
/* custom-theme.css */
@theme custom
@import 'default';

section {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

h1 {
  border-bottom: 3px solid #ffd700;
}

使用主题:

bash 复制代码
marp --theme custom-theme.css slides.md

配置文件

创建 .marprc.yml

yaml 复制代码
inputDir: ./slides
output: ./dist
pdf: true
allowLocalFiles: true
themeSet: ./themes

相关技术对比

工具 特点 适用场景
Marp CLI Markdown 原生,CLI 驱动 技术文档、代码演示
Reveal.js Web 框架,交互丰富 学术报告、产品发布
Slidev Vue 驱动,组件化 前端开发者演讲
Beamer LaTeX 生态,学术风格 数学/物理论文答辩

生态工具

  • Marpit:底层幻灯片框架
  • Marp for VS Code:官方 VS Code 扩展
  • Marp Core:核心转换引擎
  • Marp React:React 组件封装

参考资源


Sources

相关推荐
belldeep6 小时前
python:用 Flask 3 , mistune 2 实现指定目录下 Md 文件的渲染
python·flask·markdown·mistune
lpfasd1237 小时前
Tauri vs Electron:高质量Word/PDF导出效果深度对比
electron·pdf·word
受打击无法动弹7 小时前
Window 10部署openclaw报错node.exe : npm error code 128
npm·node.js·openclaw
开开心心_Every1 天前
全屏程序切换工具,激活选中窗口快速切换
linux·运维·服务器·pdf·ocr·测试用例·模块测试
开开心心就好1 天前
实用系统备份还原,小巧免PE备份快镜像小
windows·计算机视觉·pdf·计算机外设·迭代器模式·excel·桥接模式
belldeep2 天前
nodejs:如何使用 express markdown-it 实现指定目录下 Md 文件的渲染
node.js·express·markdown
小真zzz2 天前
ChatPPT Nano Banana Pro · Magic模式深度解析 ——重新定义“所想即所得”的PPT智能编辑
人工智能·ai·powerpoint·ppt·aippt
优选资源分享3 天前
全能 PDF 工具 - Icecream PDF Candy v3.17 便携版
pdf
stereohomology3 天前
挑战主要是在win8操作系统呈现这个效果
markdown·自加压力
开开心心_Every3 天前
CDR版本转换工具,支持多版本互转免升级软件
linux·运维·服务器·云原生·edge·pdf·serverless