导入幻灯片
演示文稿变大后,把所有内容写进一个 slides.md 会难以维护。Slidev 支持用 src: 指令拆分到多个 Markdown 文件,按章节组织、按需复用。
src 指令
在 Frontmatter 或幻灯片页中使用 src: 指令导入外部文件:
markdown
---
src: ./pages/intro.md
---src:指向一个 Markdown 文件- 该文件的内容按顺序嵌入到导入位置
- 被导入文件中的
---分隔符仍按正常分页逻辑生效
在 Frontmatter 头部引入:
markdown
---
theme: seriph
src: ./pages/intro.md
---或者在一页中引入某个片段文件:
markdown
# 本章节由外部文件提供
---
src: ./pages/case-study.md
---拆分文件组织
推荐按"章节 + 复用片段"组织目录:
my-deck/
├── slides.md # 主文件(总览 + 串场页)
└── pages/
├── intro.md # 开场章节
├── main.md # 正文章节
├── summary.md # 收尾章节
└── common/ # 复用片段
├── architecture.md
└── thanks.md主文件 slides.md:
markdown
---
theme: seriph
title: 大型演示
---
# 开场
---
---
src: ./pages/intro.md
---
---
src: ./pages/main.md
---
---
src: ./pages/summary.md
---多文件组织方式对比
| 组织方式 | 适用规模 | 优点 |
|---|---|---|
| 单文件 | 10-20 页 | 简单直接,无需管理文件 |
| 按章节拆分 | 20-50 页 | 每章节独立编辑,git diff 更清晰 |
| 章节 + 复用片段 | 50 页以上 / 常复用 | 公共页(架构图、致谢)一次维护多处引用 |
模块复用
被导入的文件可以同时承载页级 Frontmatter与样式,形成可复用的"模块":
markdown
---
layout: center
---
# 复用页:架构总览
::div{class="text-center text-sm text-gray-500"}
这是多个演示共用的一页。
::
---
src: ./pages/common/architecture.md
---- 复用片段使用相对路径,与主文件保持相对关系
- 片段文件里可以自带
<style scoped>,只作用于该片段 - 导入多个片段时,各自的行号、高亮等特性互不影响
大型演示文稿项目结构
面向大型演示的完整结构:
big-deck/
├── slides.md # 入口:按章节 src 引入
├── package.json
├── public/ # 图片、静态资源
├── components/ # 自定义 Vue 组件
├── layouts/ # 自定义布局
├── styles/ # 全局样式(被 slides.md 引入)
└── pages/
├── 01-intro/
│ ├── index.md # 章节入口
│ └── team.md
├── 02-technical/
│ ├── index.md
│ ├── architecture.md
│ └── code-sample.md
└── 99-ending/
├── summary.md
└── qa.md实践要点:
| 要点 | 说明 |
|---|---|
| 章节命名带序号 | 01-、02- 保证顺序可读 |
| 每章节一个入口文件 | 便于单独预览与 diff |
| 公共片段独立目录 | common/ 放多处复用的页 |
| 主文件只做编排 | 用 src 串联章节,减少正文 |
| 图片统一进 public | 所有文件统一路径引用 |
常见问题
| 问题 | 处理 |
|---|---|
| 导入文件路径报错 | 使用相对主文件的路径,检查拼写与大小写 |
| 样式不生效 | 片段内用 <style scoped> 限定,或提到主文件 <style global> |
| 章节间想插入过渡页 | 在主文件中 src 之间直接写页面即可 |
| 只想复用某几页 | 片段文件按"页"组织,src 整文件引用 |
拆分导入让演示文稿像代码一样模块化:章节独立、复用共享、评审按文件进行,是维护长期演进的技术演示的工程化基础。