创建演示文稿是开发人员的常见任务,然而主流工具——PowerPoint、Google Slides 和 Keynote——在以终端为中心的工作流程中显得沉重且格格不入。presenterm(GitHub 上的 mfontanini/presenterm)提供了一个引人注目的替代方案:一个将 Markdown 文件直接渲染为终端中美观幻灯片演示的工具,具有语法高亮、图片支持和实时代码执行功能。
由 mfontanini 创建,presenterm 将 reveal.js 等基于 Markdown 的演示工具的优雅带到了终端环境中。幻灯片使用纯 Markdown 编写,采用简单的约定——每张幻灯片由一级标题或标准的 --- 分隔线分隔——工具会处理其余部分。结果是一个可以进行版本控制、无干扰且随时可以播放的演示,无论你是否有投影仪或外部显示器。
该工具充分利用了现代终端能力。它支持 24 位真彩色渲染、通过 Kitty 终端协议和 sixel 图形的内联图片、用于幻灯片布局的 Unicode 框绘字符以及终端超链接。对于支持这些功能的终端模拟器,演示品质可与基于 GUI 的工具相媲美,同时完全在终端内运作。
渲染管线
presenterm 通过多阶段管线将 Markdown 内容转换为终端渲染的幻灯片:
flowchart LR
A[Markdown 文件\n演示来源] --> B[Markdown 解析器\n语法分析]
B --> C[幻灯片构建器\n内容分割]
C --> D[主题应用\n样式与颜色]
D --> E[语法高亮\n代码渲染]
D --> F[图片渲染\nKitty / Sixel 支持]
E --> G[终端输出\n幻灯片显示]
F --> G
G --> H[用户交互\n导航 / 执行]
H --> G每个阶段可以通过配置文件、主题和 Markdown 来源中的注释进行自定义。
功能比较
| 功能 | presenterm | reveal.js | PowerPoint | slides (go) |
|---|---|---|---|---|
| Markdown 输入 | 是 | 是 | 否 | 是 |
| 终端原生 | 是 | 否 | 否 | 是 |
| 语法高亮 | 是 | 是 | 有限 | 是 |
| 代码执行 | 是 | 否 | 否 | 否 |
| 图片显示 | 是 | 是 | 是 | 有限 |
| 演讲者备注 | 是 | 是 | 是 | 是 |
| 自定义主题 | 是 | 是 | 是 | 是 |
| 幻灯片过渡 | 是 | 是 | 是 | 否 |
高级功能
除了基本的幻灯片渲染之外,presenterm 还包含几个使其特别适合技术演示的功能。代码执行功能允许演讲者在幻灯片中嵌入可执行的代码块。在演示期间,按一个键会执行代码并在源代码下方显示输出。这对于现场示范、算法讲解和互动式工作坊极具价值。
语法高亮由 syntect 提供支持,与 bat 和其他现代终端工具使用相同的库。包含超过 200 个语法定义,涵盖技术演示中使用的几乎所有编程语言。内置了 One Half、Dracula、Solarized 和 Catppuccin 等常见主题,并支持自定义主题定义。
演讲者备注提供了一个私有的演讲者备注视图,这些备注不会显示在主演示中。备注可以包括额外的上下文、发言要点、时间安排信息或参考资料。一个单独的演讲者窗口可以显示在第二个显示器上,显示当前幻灯片、下一张幻灯片、经过时间和演讲者备注。
推荐的外部资源
- presenterm GitHub 存储库 – 源代码、主题和文档
- Markdown 指南 – Markdown 语法的全面参考
FAQ
什么是 presenterm? presenterm 是由 mfontanini 开发的开放源代码终端型演示工具,可直接在终端中将 Markdown 文件渲染为幻灯片演示。它支持代码的语法高亮、支持的终端模拟器中的图片渲染、幻灯片中的代码执行、主题、演讲者备注和各种幻灯片过渡效果。
如何使用 presenterm 创建演示? 演示使用 Markdown 编写,每张幻灯片由一级标题或幻灯片分隔线(—)分隔。支持标准 Markdown 功能,包括标题、列表、表格、代码块、图片、块引用和内联格式。将 Markdown 文件作为命令行参数传递给 presenterm,演示会立即显示。
presenterm 支持哪些终端功能? presenterm 利用了现代终端能力,包括 24 位真彩色、Unicode 图形、用于内联图片的 Kitty 终端协议、sixel 图形和终端超链接。它会自动检测终端模拟器的能力并相应地调整渲染。
presenterm 可以在演示期间执行代码吗? 是的,presenterm 支持在幻灯片中执行代码。带有 ’exec’ 注释的代码块可以配置为在指定的语言或 shell 中执行其内容。输出显示在代码块下方,使其在技术演示的现场示范中非常有用。
presenterm 支持演讲者备注吗? 是的,presenterm 支持演讲者备注,这些备注仅在单独的演讲者窗口中或按特定键在演示期间可见。备注作为幻灯片内容的一部分使用特殊注释编写,不会显示在主演示视图中。
延伸阅读
- presenterm 在 GitHub 上 – 源代码、主题和配置指南
- Markdown 指南 – Markdown 语法及最佳实践参考
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!