外部Markdown演示
2026-05-02 10:28:46作者:伍霜盼Ellen
这是一个外部Markdown文件创建的幻灯片
代码块示例
// 语法高亮的代码块
class Presentation {
constructor(title) {
this.title = title;
this.slides = [];
}
addSlide(content) {
this.slides.push(content);
}
}
Note: 这是演讲者备注,按S键在演示时查看
表格支持
| 功能 | 传统工具 | Web框架 |
|---|---|---|
| 跨平台 | ❌ 有限支持 | ✅ 完全支持 |
| 代码展示 | ❌ 需插件 | ✅ 原生支持 |
| 版本控制 | ❌ 困难 | ✅ 原生支持 |
#### Markdown使用技巧
- 使用三个短横线`---`创建新幻灯片
- 使用`Note:`前缀添加演讲者备注
- 通过`data-separator`自定义分隔符
- 使用三个反引号```创建代码块,并指定语言
- 支持GFM (GitHub Flavored Markdown)语法
✅ **自测题**:如何在Markdown幻灯片中添加演讲者备注?如何控制幻灯片的分隔方式?
### 模块三:主题定制与视觉设计
**适用场景**:打造符合品牌风格或个人偏好的演示外观
#### 基础版实现
```html
<!-- 选择内置主题 -->
<link rel="stylesheet" href="dist/theme/black.css">
<script>
Reveal.initialize({
// 主题相关配置
theme: 'black', // 主题名称
transition: 'convex', // 过渡效果
backgroundTransition: 'zoom' // 背景过渡效果
});
</script>
进阶版实现
// 创建自定义主题文件 css/theme/source/mytheme.scss
@import "template/theme";
// 自定义变量覆盖
$backgroundColor: #f8f9fa;
$primaryColor: #2c3e50;
$secondaryColor: #3498db;
$headingColor: #2980b9;
$linkColor: #e74c3c;
$linkColorHover: #c0392b;
// 自定义样式
.reveal h1 {
font-size: 2.5em;
margin-bottom: 1em;
}
.reveal section img {
border: none;
box-shadow: none;
}
编译自定义主题:
gulp css-themes
在HTML中使用自定义主题:
<link rel="stylesheet" href="dist/theme/mytheme.css">
主题定制技巧
- 内置主题位于
css/theme/source/目录 - 主题模板文件在
css/theme/template/目录 - 使用
gulp css-themes命令编译SCSS文件 - 通过自定义CSS变量实现简单样式调整
- 复杂定制需修改SCSS源文件并重新编译
⚠️ 常见陷阱:直接修改内置主题文件会导致更新框架时丢失自定义内容。正确做法是创建新的主题文件继承模板。
模块四:动画与交互效果
适用场景:增强演示的视觉吸引力,突出重点内容
基础版实现
<section>
<h2>基本动画效果</h2>
<!-- 淡入动画 -->
<p class="fragment fade-in">这行会淡入</p>
<p class="fragment fade-in-then-out">淡入后淡出</p>
<p class="fragment highlight-red">高亮为红色</p>
</section>
进阶版实现
<section data-auto-animate>
<h2 data-auto-animate-id="title">Auto-Animate演示</h2>
<div class="box" data-auto-animate-id="box" style="width: 100px; height: 100px; background: red;"></div>
</section>
<section data-auto-animate>
<h2 data-auto-animate-id="title">平滑过渡效果</h2>
<div class="box" data-auto-animate-id="box" style="width: 200px; height: 200px; background: blue;"></div>
</section>
<script>
Reveal.initialize({
autoAnimateDuration: 0.8, // 动画持续时间
autoAnimateEasing: 'ease-in-out' // 动画缓动函数
});
</script>
交互效果类型
- 片段动画(fragment):控制元素的显示顺序和方式
- 自动动画(auto-animate):实现幻灯片间元素的平滑过渡
- 过渡效果(transition):控制幻灯片切换动画
- 背景动画(background):为幻灯片背景添加动态效果
✅ 挑战任务:创建一个包含三个元素的幻灯片,每个元素使用不同的片段动画效果,并设置自定义的显示顺序。
模块五:插件扩展与功能增强
适用场景:添加特殊功能,如代码高亮、数学公式、搜索等
基础版实现(代码高亮)
<!-- 引入插件 -->
<script src="plugin/highlight/highlight.js"></script>
<script>
Reveal.initialize({
plugins: [RevealHighlight]
});
</script>
<!-- 使用代码高亮 -->
<section>
<h2>代码高亮示例</h2>
<pre><code class="language-python" data-line-numbers="2-4">def calculate_factorial(n):
if n == 0:
return 1
else:
return n * calculate_factorial(n-1)
result = calculate_factorial(5)
print(result) # 输出: 120</code></pre>
</section>
进阶版实现(多插件集成)
<!-- 引入多个插件 -->
<script src="plugin/markdown/markdown.js"></script>
<script src="plugin/math/math.js"></script>
<script src="plugin/notes/notes.js"></script>
<script src="plugin/search/search.js"></script>
<script src="plugin/zoom/zoom.js"></script>
<script>
Reveal.initialize({
// 配置数学公式插件
math: {
mathjax: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js',
config: 'TeX-AMS_HTML-full',
tex2jax: {
inlineMath: [['\\(', '\\)']],
displayMath: [['\\[', '\\]']],
balanceBraces: true,
processEscapes: false,
processRefs: true
}
},
plugins: [RevealMarkdown, RevealMath.KaTeX, RevealNotes, RevealSearch, RevealZoom]
});
</script>
<!-- 使用数学公式 -->
<section>
<h2>数学公式示例</h2>
<p>欧拉恒等式: \( e^{i\pi} + 1 = 0 \)</p>
<p>二次方程求根公式: \[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]</p>
</section>
常用插件功能
- highlight:代码语法高亮
- math:数学公式渲染(支持KaTeX和MathJax)
- notes:演讲者备注功能
- search:演示文稿内搜索
- zoom:幻灯片内容缩放
- markdown:Markdown语法支持
⚠️ 性能提示:过多插件会增加页面加载时间和内存占用。只加载实际需要的插件,并在生产环境中使用压缩版资源。
常见陷阱规避
路径问题导致资源加载失败
问题:本地打开HTML文件时,资源路径不正确导致样式和脚本无法加载。
解决方案:始终使用开发服务器预览演示文稿,避免直接双击HTML文件打开。启动命令:npm start
响应式设计失效
问题:在移动设备上文本太小或内容溢出。
解决方案:使用相对单位(em/rem)而非固定像素,利用框架内置的响应式类:
<div class="r-fit-text">自动适应大小的文本</div>
<section data-background-size="contain">背景图片自适应</section>
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
733
4.75 K
Ascend Extension for PyTorch
Python
618
795
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
433
395
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.01 K
1.01 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.18 K
152
deepin linux kernel
C
29
16
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
145
237
暂无简介
Dart
983
252
昇腾LLM分布式训练框架
Python
166
198
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.68 K
989