This README is also available in: 🇨🇳 简体中文 | 🇬🇧 English。
本仓库提供了若干 Zotero 插件的信息及其 XPI 包,尝试在 Zotero 官方插件商店建立前,提供集中的插件商店服务。
Zotero 中文社区主域名:https://zotero-chinese.com/plugins
Note
如何添加未收录的插件?
编辑 src/plugins.ts
,在 plugins
列表中添加一个对象,内容格式如下所示,已有的内容亦可作为参考。
添加时请按 repo
排序。
编辑完成后提交,发起 Pull Request,仓库成员将尽快处理。
interface PluginInfo {
/**
* 插件仓库
*
* 例如:northword/zotero-format-metadata
*
* 注意前后均无 `/`
*/
repo: string
/**
* 插件的发布地址信息
*/
releases: Array<{
/**
* 当前发布版对应的 Zotero 版本,"7" 或 "6"
*/
targetZoteroVersion: string
/**
* 当前发布版对应的下载通道
*
* `latest`:最新正式发布;
* `pre`:最新预发布;
* `string`:发布对应的 `git.tag_name`;
* 注意 `git.tag_name` 有的有 `v` 而有的没有,可以通过发布链接来判断
*/
tagName: 'latest' | 'pre' | string
}>
}
开发前,需要根据 GitHub 文档 创建 GitHub 个人访问令牌,将其存入本地环境变量 GITHUB_TOKEN
。
# 克隆仓库
git clone https://github.com/northword/zotero-plugins.git zotero-plugins
cd zotero-plugins
# 安装依赖
npm install -g pnpm
pnpm install
# 获取插件信息
pnpm data:info
# 获取图表信息
pnpm data:chart
src/index.ts
为主要逻辑脚本,它执行如下操作:
- 遍历上述插件信息列表,从 GitHub 获取每一个插件的基本信息和发行版,将获取到的信息保存在
dist/plugins.json
- 同时将 XPI 包保存在
dist/xpi/${github.release.asset.id}.xpi
GitHub Action Bot 定时运行 src/index.ts
脚本,执行上述步骤,并将 dist/
部署到 gh-page
分支。
感谢 Zotero 社区及开发者们的付出!
本项目使用了如下代理或公共 CDN 服务完成 XPI 分发:
- GitHub 代理:https://github.com/hunshcn/gh-proxy
- JsDeliver:https://www.jsdelivr.com/
- KGitHub: https://help.kkgithub.com/
本项目是对 l0o0/ZoteroPlugins 的 Typescript 重新实现。
本项目部署在 GitHub Pages 和 Netlify.
MIT License