Skip to content

编写扩展插件

自 v0.32.1 起可用

扩展插件能力

  • 全局样式(谨慎使用,它更通常作为 主题 的能力)
  • 自定义布局或者重写现有布局
  • 自定义组件或者重写现有组件
  • 扩展 UnoCSS/Windi CSS 配置
  • 配置 Monaco、Prism 等工具

约定

扩展插件发布到 npm,需遵循以下约定:

  • 包名应该以 slidev-addon- 开头,例如:slidev-addon-awesome
  • 在主题 package.jsonkeywords 中添加 slidev-addonslidev 关键词

配置说明

初始化

如果想要创建扩展插件,请首先创建一个带有 package.json 文件的目录(你可以使用 npm init)。

然后,安装 Slidev 依赖项:

bash
$ npm install -D @slidev/cli

测试

如果想要测试自己编写的扩展插件,你可以新建 example.md 并在其内填写一些内容。

你还可以在 packages.json 增加一些脚本以方便测试:

json
// package.json
{
  "scripts": {
    "dev": "slidev example.md",
    "build": "slidev build example.md",
    "export": "slidev export example.md",
    "screenshot": "slidev export example.md --format png"
  }
}

你只需在命令行中执行 npm publish 就可以发布自己的扩展插件,并不需要额外的构建过程(这意味着你可以直接发布 .vue.ts 文件,Slidev 可以直接识别它们)。

扩展插件的约定与本地自定义相一致,请参阅 命名约定

扩展插件原数据

Slidev 版本

如果主题依赖于 Slidev 的某项新特性,你可以为主题设置最小的 Slidev 版本,以使你的主题可以正常工作:

json
// package.json
{
  "engines": {
    "slidev": ">=0.32.1"
  }
}

如果用户使用的是旧版本的 Slidev,将会抛出错误。

Released under the MIT License.