Sliprail 会先验证扩展的注册 ID、清单、入口文件和默认导出,然后再加载扩展。
公开扩展和私有扩展都需要从 Sliprail 开发者门户获取 ID。
manifest.json扩展清单必须包含以下字段:
iddisplayNamedescriptionmainicon 是可选字段。displayName 和 description 可以使用字符串,也可以使用多语言对象。
{
"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 路径,再加载项目目录。