SuperAPI AI 工具集

slidev

办公与效率

查看项目

更新于 10-16 06:39

技能介绍

Slidev 是一个面向开发者的基于 Web 的演示幻灯片制作工具,构建在 Vite、Vue 和 Markdown 之上。

用途

适用于技术演示或包含实时代码示例的幻灯片、带语法高亮和动画的代码片段、交互式演示(Monaco 编辑器、可运行代码)、数学公式(LaTeX)或图表(Mermaid、PlantUML)、带演讲者备注的录制,以及导出为 PDF、PPTX 或作为 SPA 托管。也适合开发者演讲或工作坊中的代码讲解。

快速开始

pnpm create slidev # 创建项目 pnpm run dev # 启动开发服务器(打开 http://localhost:3030) pnpm run build # 构建静态 SPA pnpm run export # 导出为 PDF(需要 playwright-chromium)

验证:运行 pnpm run dev 后,确认幻灯片在 http://localhost:3030 加载。运行 pnpm run export 后,检查项目根目录中是否存在输出的 PDF。

基本语法


theme: default title: My Presentation

First Slide

Content here


Second Slide

More content

<!-- Presenter notes go here -->

--- 分隔幻灯片

第一个 frontmatter 为 headmatter(幻灯片组配置)

HTML 注释为演讲者备注

核心参考

Markdown 语法:幻灯片分隔符、frontmatter、备注、代码块(core-syntax) 动画:v-click、v-clicks、motion、过渡(core-animations) Headmatter:幻灯片组级配置选项(core-headmatter) Frontmatter:单页幻灯片配置选项(core-frontmatter) CLI 命令:dev、build、export、theme 命令(core-cli) 组件:内置 Vue 组件(core-components) 布局:内置幻灯片布局(core-layouts) 导出:PDF、PPTX、PNG 导出选项(core-exporting) 托管:构建并部署到各种平台(core-hosting) 全局上下文:$nav、$slidev、composables API(core-global-context)

功能参考

代码与编辑器

行高亮:ts {2,3}(code-line-highlighting) 基于点击的高亮:ts {1|2-3|all}(code-line-highlighting) 行号:lineNumbers: true 或 {lines:true}(code-line-numbers) 可滚动代码:{maxHeight:'100px'}(code-max-height) 代码标签页:::code-group(需要 comark: true)(code-groups) Monaco 编辑器:ts {monaco}(editor-monaco) 运行代码:ts {monaco-run}(editor-monaco-run) 编辑文件:<<< ./file.ts {monaco-write}(editor-monaco-write) 代码动画:````md magic-move(code-magic-move) TypeScript 类型:```ts twoslash(code-twoslash) 导入代码:<<< @/snippets/file.js(code-import-snippet)

图表与数学

Mermaid 图表:mermaid(diagram-mermaid) PlantUML 图表:plantuml(diagram-plantuml) LaTeX 数学:$inline$ 或 $$block$$(diagram-latex)

布局与样式

画布尺寸:canvasWidth、aspectRatio(layout-canvas-size) 缩放幻灯片:zoom: 0.8(layout-zoom) 缩放元素:<Transform :scale="0.5">(layout-transform) 布局插槽:::right::、::default::(layout-slots) 作用域 CSS:幻灯片中的 <style>(style-scoped) 全局图层:global-top.vue、global-bottom.vue(layout-global-layers) 可拖拽元素:v-drag、<v-drag>(layout-draggable) 图标:<mdi-icon-name />(style-icons)

动画与交互

点击动画:v-click、<v-clicks>(core-animations) 手绘标记:v-mark.underline、v-mark.circle(animation-rough-marker) 绘图模式:按 C 或配置 drawings:(animation-drawing) 方向样式:forward:delay-300(style-direction) 备注高亮:备注中的 [click](animation-click-marker)

语法扩展

Comark 语法:comark: true + {style="color:red"}(syntax-comark) 块级 frontmatter:使用 ```yaml 代替 ---(syntax-block-frontmatter) 导入幻灯片:src: ./other.md(syntax-importing-slides) 合并 frontmatter:主入口优先(syntax-frontmatter-merging)

演讲者与录制

录制:按 G 打开摄像头(presenter-recording) 计时器:duration: 30min、timer: countdown(presenter-timer) 远程控制:slidev --remote(presenter-remote) 注音文本:notesAutoRuby:(presenter-notes-ruby)

导出与构建

导出选项:slidev export(core-exporting) 构建与部署:slidev build(core-hosting) 构建时包含 PDF:download: true(build-pdf) 缓存图片:远程 URL 自动缓存(build-remote-assets) OG 图片:seoMeta.ogImage 或 og-image.png(build-og-image) SEO 标签:seoMeta:(build-seo-meta)

导出前提:PDF/PPTX/PNG 导出需要 pnpm add -D playwright-chromium。如果导出因浏览器错误失败,请先安装此依赖。

编辑器与工具

侧边编辑器:点击编辑图标(editor-side) VS Code 扩展:安装 antfu.slidev(editor-vscode) Prettier:prettier-plugin-slidev(editor-prettier) 弹出主题:slidev theme eject(tool-eject-theme)

生命周期与 API

幻灯片钩子:onSlideEnter()、onSlideLeave()(api-slide-hooks) 导航 API:$nav、useNav()(core-global-context)

常用布局

cover:标题/封面幻灯片 center:居中内容 default:标准幻灯片 two-cols:两列(使用 ::right::) two-cols-header:页眉 + 两列 image / image-left / image-right:图片布局 iframe / iframe-left / iframe-right:嵌入 URL quote:引用 section:章节分隔 fact / statement:数据/陈述展示 intro / end:介绍/结束幻灯片

资源

文档:https://sli.dev 主题库:https://sli.dev/resources/theme-gallery 展示案例:https://sli.dev/resources/showcases