外观
配置 info.json
info.json
文件是一个 json 文件,用于描述插件的元信息,由以下字段组成。
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
identifier | string | ✅ | 插件的唯一标识符,必须由数字、小写字母和 . 组成。 |
version | string | ✅ | 插件版本号,必须由数字、小写字母和 . 组成。 |
category | string | ✅ | 插件类别,值只可以是 translate 、ocr 和 tts ,分别对应文本翻译、文本识别和语音合成。 |
name | string | ✅ | 插件名称,无限制,建议别太长。 |
summary | string | - | 插件描述信息。 |
icon | string | - | 插件图标标识符。如果插件根目录有 icon.png 文件,则该文件将被用作插件图标,此时无需使用本字段。否则,本字段所指定的 ID 对应图片将作为插件图标,可以从 这个图标列表 中选择任意一个 ID 作为本字段的值。 |
icons | array | - | 插件图标数组,对象属性参考 icon object 。配合 keyOption 可以实现插件切换图标,详情参考下面 keyOption 相关描述。 Bob 1.8.0+ 可用 |
author | string | - | 插件作者。 |
homepage | string | - | 插件主页网址。 |
appcast | string | - | 插件发布信息 URL。详情见 发布插件。 |
minBobVersion | string | - | 最低支持本插件的 Bob 版本号。所有没有特殊说明的 API 都是 0.5.0 开始支持,如果使用了明确标注从某个 Bob 版本开始才支持的 API,请将本字段设置为已使用的 API 的最高版本号,appcast 内 version 对象的 minBobVersion 也需要同步更新。 |
options | array | - | 插件选项数组,该字段用于提供一些选项供用户选择或填写,详情见 option object 。 |
icon object Bob 1.8.0+ 可用
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
identifier | string | ✅ | 图标唯一标识符。 |
type | string | ✅ | 图标类型。值可以为以下类型:builtIn - Bob 内置图标file - 插件提供图标文件 |
builtInId | string | builtIn 类型必须赋值 | builtIn 类型图标 ID,可以从 这个图标列表 中选择任意一个 ID 作为本字段的值。 |
filePath | string | file 类型必须赋值 | file 类型图标文件路径。相对于插件根目录的路径,例如插件根目录存在一个 test.png 文件,则该字段赋值为 test.png 即可。 |
option object
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
identifier | string | ✅ | 选项唯一标识符,取值时使用。 |
type | string | ✅ | 选项类型。值可以为以下类型:text - 输入框类型,用户自行文本menu - 菜单类型,提供固定的菜单选项 |
title | string | ✅ | 选项名称,用于展示。 |
defaultValue | string | - | 默认值。 |
textConfig | text config object | - | 输入框类型选项的详细设置。 Bob 1.8.0+ 可用 |
menuValues | array | type 为 menu 时必须有 | 菜单选项数组,详情见 menu object 。 |
desc | string | - | 用于详细描述这个选项的作用。 |
isKeyOption | bool | - | 是否为关键选项。目前关键选项可用于切换插件默认图标和名称,只有 type 为 menu 类型的选项可作为关键选项。 Bob 1.8.0+ 可用 |
text config object Bob 1.8.0+ 可用
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
type | string | ✅ | 文本框类型。值可以为以下类型:secure - 安全类型输入框,默认自动隐藏用户输入的内容visible - 可视输入框,可直接查看输入的文本 |
height | number | - | 输入框高度。默认为 21,可以根据大概行数来设置,比如两行可以考虑设置为 40。 |
placeholderText | string | - | 输入框占位文本。跟 defaultValue 不同,此文本起提示性作用,在未输入内容时展示,不影响输入框实际内容。 |
keyWords | array | - | 关键字数组,元素为 string 类型。此值仅 visible 类型输入框有效,用户输入关键字时将高亮展示。 |
menu object
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
title | string | ✅ | 菜单选项名称,用于展示。 |
value | string | ✅ | 当前菜单被选中时的值。 |
defaultPluginIconIdentifier | string | - | 选中本选项时插件的默认图标 identifier ,需要是 icons 数组中的值。此设置仅对 keyOption 有效。 Bob 1.8.0+ 可用 |
defaultPluginName | string | - | 选中本选项时插件的默认名称。此设置仅对 keyOption 有效。 Bob 1.8.0+ 可用 |
示例
json
{
"identifier": "com.ripperhe.translate.test",
"version": "0.1.0",
"category": "translate",
"name": "测试插件",
"summary": "这是一个用于测试的插件。",
"icon": "001",
"author": "ripperhe",
"homepage": "https://github.com",
"appcast": "https://github.com/xxx/xxrepo/raw/main/appcast.json",
"minBobVersion": "0.5.0",
"options": [
{
"identifier": "option1",
"type": "text",
"title": "测试输入框 - 密文"
},
{
"identifier": "option2",
"type": "text",
"title": "测试输入框 - 明文 & 自定义高度",
"textConfig": {
"type": "visible",
"height": 100,
"placeholderText": "这是占位文本"
}
},
{
"identifier": "option3",
"type": "menu",
"title": "测试菜单",
"defaultValue": "1",
"menuValues": [
{
"title": "菜单选项 1",
"value": "1"
},
{
"title": "菜单选项 2",
"value": "2"
}
]
}
]
}
由于以上 json 设置了 options
字段,所以使用该插件时可以看到设置项,如下所示:
menu
类型的展开效果如下:
用户在这里设置之后,插件内部可以根据相应 option object
的 identifier
取值,具体请查看 $option 相关文章。