文档

创建你的第一个扩展

Sliprail 会先验证扩展的注册 ID、清单、入口文件和默认导出,然后再加载扩展。

注册扩展

公开扩展和私有扩展都需要从 Sliprail 开发者门户获取 ID。

  1. 打开 开发者门户
  2. 创建 Sliprail 扩展
  3. 选择公开或私有可见性
  4. 创建公开扩展时,填写公开的 GitHub 仓库链接
  5. 复制生成的扩展 ID

创建 manifest.json

扩展清单必须包含以下字段:

  • id
  • displayName
  • description
  • main

icon 是可选字段。displayNamedescription 可以使用字符串,也可以使用多语言对象。

{
  "id": "your-registered-extension-id",
  "displayName": {
    "en": "Hello Sliprail",
    "zh-hans": "你好 Sliprail"
  },
  "description": {
    "en": "Copies a greeting to the clipboard",
    "zh-hans": "将问候语复制到剪贴板"
  },
  "main": "main.mjs",
  "icon": "icon.svg"
}

main 路径相对于 manifest.json 所在目录,并且必须指向实际存在的 JavaScript 模块。

创建入口模块

import type { Extension } from '@sliprail/sdk'

const extension: Extension = {
  shortcuts: [
    {
      id: 'hello-sliprail',
      displayName: {
        en: 'Hello Sliprail',
        'zh-hans': '你好 Sliprail',
      },
      handle: (context) => {
        context.writeTextToClipboard('Hello from Sliprail')
        context.showNotification({
          title: 'Hello Sliprail',
          message: '问候语已复制到剪贴板',
        })
      },
    },
  ],
}

export default extension

Sliprail 会导入 main 指定的文件,并读取它的默认导出。只有命名导出时,扩展无法正常加载。

如果源文件使用 TypeScript,请先将它构建到 main 指定的 JavaScript 路径,再加载项目目录。