关于 slidev-syntax-guide
slidev-syntax-guide 是面向 Slidev 演示文稿作者的语法指南,讲解 Markdown 扩展及幻灯片配置。它覆盖分隔符、Frontmatter、演讲者备注、MDC 和布局插槽等语法,也介绍常见错误的排查。
主要功能
- 01使用幻灯片分隔符与 Frontmatter
- 02编写演讲者备注
- 03使用 MDC 与组件语法
- 04配置布局插槽和全局层
- 05处理 Markdown、HTML 与样式
适用场景
- 01学习 Slidev 扩展 Markdown
- 02为单页设置布局和过渡
- 03构建含组件的复杂幻灯片
- 04排查分隔符或 YAML 错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yoanbernabeu/ slidev-skills --skill slidev-syntax-guide安装后在 Claude Code 中输入/slidev-syntax-guide确认已加载。
详细介绍
Slidev 语法指南
本技能涵盖 Slidev 扩展的 Markdown 语法,包括幻灯片分隔符、frontmatter、备注、MDC 语法以及所有可用的特殊格式功能。
何时使用此技能
- 学习 Slidev 的 Markdown 扩展
- 编写复杂的幻灯片内容
- 使用高级格式功能
- 排查语法问题
- 将标准 Markdown 转换为 Slidev 格式
幻灯片分隔符
基本分隔符
使用三个短横线,并在前后留空行:
# Slide 1
Content here
---
# Slide 2
More content
带 Frontmatter 的分隔符
添加单张幻灯片的配置:
# Slide 1
---
layout: center
class: text-blue-500
---
# Centered Blue Slide
Frontmatter
全局配置(第一页)
---
theme: seriph
title: My Presentation
info: |
## Presentation Description
Multi-line info text
colorSchema: auto
highlighter: shiki
drawings:
persist: false
transition: slide-left
mdc: true
---
单张幻灯片配置
---
layout: two-cols
class: my-custom-class
transition: fade
clicks: 3
disabled: false
hide: false
---
常见 Frontmatter 选项
| 选项 | 类型 | 描述 |
|---|---|---|
layout | 字符串 | 幻灯片布局名称 |
class | 字符串 | CSS 类 |
transition | 字符串 | 幻灯片切换效果 |
background | 字符串 | 背景图片/颜色 |
clicks | 数字 | 幻灯片的总点击次数 |
disabled | 布尔值 | 禁用幻灯片 |
hide | 布尔值 | 从导航中隐藏 |
preload | 布尔值 | 预加载较重的内容 |
演讲者备注
注释语法
# My Slide
Visible content
备注位置
备注必须放在幻灯片末尾,位于所有内容之后。
MDC 语法(Markdown 组件)
在 frontmatter 中启用:
---
mdc: true
---
行内样式
This is [important text]{.text-red-500.font-bold}
This has a [tooltip]{title="Hover me!"}
块样式
::div{.flex.gap-4}
Content inside a flex container
::
::section{#my-section .bg-blue-100}
Section with ID and class
::
组件语法
:Icon{name="carbon:arrow-right" size="24"}
::Alert{type="warning"}
Warning message here
::
列表
标准列表
- Item 1
- Item 2
- Nested item
- Another nested
- Item 3
1. First
2. Second
3. Third
点击动画列表
<v-clicks>
- Appears first
- Appears second
- Appears third
</v-clicks>
也可以指定深度:
<v-clicks depth="2">
- Parent 1
- Child 1.1
- Child 1.2
- Parent 2
- Child 2.1
</v-clicks>
图片
基本图片

调整尺寸的图片
{width=400}
设置样式的图片
{.rounded-lg.shadow-xl}
背景图片(通过 frontmatter)
---
background: /images/cover.jpg
class: text-white
---
# Title Over Image
链接
标准链接
[Slidev Documentation](https://sli.dev)
导航链接
[Go to slide 5](/5)
[Go to slide with ID](#my-slide)
在新标签页中打开的外部链接
<a href="https://sli.dev" target="_blank">Open in new tab</a>
表格
| Feature | Supported |
|---------|-----------|
| Markdown | ✅ |
| Vue Components | ✅ |
| Animations | ✅ |
| Export | ✅ |
引用块
> This is a quote
> spanning multiple lines
> [!NOTE]
> GitHub-style callout
水平线
Content above
---
Content below (this also creates a new slide!)
如需添加不会分隔幻灯片的水平线,请使用 <hr>:
Content above
<hr>
Content below (same slide)
Markdown 中的 HTML
行内 HTML
This is <span class="text-red-500">red text</span> inline.
块级 HTML
<div class="grid grid-cols-2 gap-4">
<div>Column 1</div>
<div>Column 2</div>
</div>
转义
转义代码块标记
使用比内容更多的反引号:
Here's how to write a code block:
```js
const x = 1
```
转义 Frontmatter
\---
This is not frontmatter
\---
插槽语法
适用于包含多个内容区域的布局:
---
layout: two-cols
---
# Left side content
::right::
# Right side content
命名插槽
---
layout: my-custom-layout
---
::header::
Header content
::default::
Main content
::footer::
Footer content
全局图层
顶层图层(位于所有幻灯片上方)
创建 global-top.vue:
<template>
<div class="absolute top-0 left-0 p-4">
<img src="/logo.png" class="h-8" />
</div>
</template>
底层图层(位于所有幻灯片下方)
创建 global-bottom.vue:
<template>
<div class="absolute bottom-0 right-0 p-4 text-sm">
© 2025 My Company
</div>
</template>
作用域样式
为单张幻灯片添加 CSS:
# Styled Slide
<style>
h1 {
color: #2563eb;
font-size: 3em;
}
</style>
特殊字符
表情符号
🚀 Rocket launch!
👋 Hello world!
图标(使用 UnoCSS)
<carbon-arrow-right class="inline" />
<mdi-github class="text-2xl" />
最佳实践
- 保持 Frontmatter 一致:在所有幻灯片中使用相同的结构
- 使用有意义的 ID:为要添加链接的幻灯片添加 ID
- 整理备注:让演讲者备注简洁且便于执行
- 谨慎使用 MDC:不要过度使用行内样式
- 测试分隔符:确保
---前后有空行
常见语法错误
❌ 缺少空行
# Slide 1
---
# Slide 2
✓ 正确
# Slide 1
---
# Slide 2
❌ 无效的 YAML
---
theme:default
---
✓ 正确的 YAML
---
theme: default
---
❌ 备注位于内容之前
# Heading
✓ 备注位于末尾
# Heading
Content
输出格式
编写 Slidev 内容时,请遵循以下结构:
---
[FRONTMATTER: theme, layout, class, etc.]
---
# [SLIDE TITLE]
[MAIN CONTENT]
- Use Markdown formatting
- Include code blocks where relevant
- Add images with proper paths
[OPTIONAL: Vue components or HTML]
评论
支持 Markdown