- 通过 Use this template 按钮将该库文件复制到你自己的库中,请注意库名必须和图标名称一致,默认分支必须为
main - 将你的库克隆到本地开发文件夹中,为了方便可以直接将开发文件夹放置在
{workspace}/conf/appearance/icons/下
- icon.json
- icon.png (160*160)
- preview.png (1024*768)
- README*.md
- icon.js
{
"name": "icon-sample",
"author": "Vanessa",
"url": "https://github.com/siyuan-note/icon-sample",
"version": "0.0.3",
"minAppVersion": "2.8.8",
"displayName": {
"default": "Icon Sample",
"zh_CN": "图标示例"
},
"description": {
"default": "This is a icon sample",
"zh_CN": "这是一个图标示例"
},
"readme": {
"default": "README.md",
"zh_CN": "README_zh_CN.md"
},
"funding": {
"openCollective": "",
"patreon": "",
"github": "",
"custom": [
"https://ld246.com/sponsor"
]
},
"keywords": [
"sample", "示例"
]
}name:图标名称,必须和库名一致,且全局唯一(集市中不能有重名图标)author:图标作者名url:图标仓库地址version:图标版本号,建议遵循 semver 规范minAppVersion:图标支持的最低思源笔记版本号displayName:图标显示名称,主要用于图标集市列表中显示,支持多语言default:默认语言,必须存在zh_CN、en_US等其他语言:可选,建议至少提供中文和英文
description:图标描述,主要用于图标集市列表中显示,支持多语言default:默认语言,必须存在zh_CN、en_US等其他语言:可选,建议至少提供中文和英文
readme:自述文件名,主要用于图标集市详情页中显示,支持多语言default:默认语言,必须存在zh_CN、en_US等其他语言:可选,建议至少提供中文和英文
funding:图标赞助信息openCollective:Open Collective 名称patreon:Patreon 名称github:GitHub 登录名custom:自定义赞助链接列表
keywords:搜索关键字列表,用于集市搜索功能
无论使用何种方式编译打包,我们最终需要生成一个 package.zip,它至少包含如下文件:
- icon.png
- preview.png
- README*.md
- icon.js
- icon.json
- 生成 package.zip
- 在 GitHub 上创建一个新的发布,使用图标版本号作为 “Tag version”,示例 https://github.com/siyuan-note/icon-sample/releases
- 上传 package.zip 作为二进制附件
- 提交发布
如果是第一次发布版本,还需要创建一个 PR 到 Community Bazaar 社区集市仓库,修改该库的 icons.json。该文件是所有社区图标库的索引,格式为:
{
"repos": [
"username/reponame"
]
}PR 被合并以后集市会通过 GitHub Actions 自动更新索引并部署。后续发布新版本图标时只需要按照上述步骤创建新的发布即可,不需要再 PR 社区集市仓库。
正常情况下,社区集市仓库每隔 1 小时会自动更新索引并部署,可在 https://github.com/siyuan-note/bazaar/actions 查看部署状态。