# 订阅仓库
订阅仓库提供了一种订阅机制,可以让你订阅获取一些其他用户已经写好的 JSKit 扩展。
订阅地址
是一个符合 JSKit 约定规范的一个公开 Git 仓库地址。
添加订阅地址
属于高级功能,在当前 beta 阶段是免费的!如果你觉得不错,可以捐赠支持我后续的开发!
# Git 是什么
这里假定你已经了解了 Git 是什么 (opens new window) 了。
# JSKit 订阅仓库的约定规范
比如为 JSKit 提供 cheerio 库支持为例: https://gitee.com/jskitapp/jsk-cheerio (opens new window)
在 Git 仓库的根目录提供有一个 index.jsk.json
文件
index.jsk.json :
{
"version": 1,
"name": "jsk-chreeio",
"addon_dirs": [
"./boolbase",
"./cheerio",
"./cheerio-select",
"./css-select",
"./css-what",
"./dom-serializer",
"./domelementtype",
"./domhandler",
"./domutils",
"./entities",
"./htmlparser2",
"./nth-check",
"./parse5",
"./parse5-htmlparser2-tree-adapter",
"./tslib"
]
}
index.jsk.json 文件提供订阅仓库各个拓展的索引信息
version
: int 类型 标识当前仓库的版本号,当前都为1
name
: string 类型 仓库的名称,会在 JSKit App 的订阅仓库
中显示addon_dirs
: 数组类型 标识扩展仓库的相对位置,每个子路径下都应该有一个 jsk.json 文件进一步描述扩展的信息。
addon_dirs 对应的子路径下提供有一个 jsk.json
文件
jsk.json :
{
"main": "$cheerio_main",
"js_map": {
"$cheerio_main": "./main.js",
"cheerio": "./lib/index.js"
},
"depes": [
"cheerio-select",
"dom-serializer",
"domhandler",
"htmlparser2",
"parse5",
"parse5-htmlparser2-tree-adapter",
"tslib"
],
"flags": 1,
"jsk_id": "cheerio",
"jsk_code": 2,
"name": "cheerio",
"description": "cheerio for jskit",
"version_code": 1,
"author": {
"name": "mattmuelle"
}
}
jsk.json 文件提供拓展相关信息,使用 JSKit App 创建扩展项目这个文件会自动生成
main
: 扩展主文件的别名(在 js_map 的映射里面必须存在对应的文件)js_map
: JS 文件别名和 JS 文件路径映射,这些别名,可在此扩展和依赖此拓展的拓展中,直接用于 import/require。比如这里,可以直接 const cheerio = require('cheerio') 导入对应模块。depes
: 依赖的模块。是依赖扩展的项目 ID (jsk_id) 。flags
: 1 表示作为依赖时跳过运行主文件
jsk_id
: 项目 IDjsk_code
: 支持的 jskit 版本,可查看 APP 内关于 JSKit 的 API 版本信息name
: 拓展名称description
: 拓展描述version_code
: 拓展版本,注意,当此版本增加后,会在 JSKit App 的订阅仓库列表中看到扩展有更新的提示version_name
: 拓展版本名称author
: 作者信息
# 添加订阅仓库地址
- JSKit App 首页右上角菜单中选择订阅仓库
- 点击订阅仓库标题栏右边的配置图标
- 点击链接
查看已安装订阅地址
- 可以添加订阅地址了,只有符合上面约定规范的订阅地址才可以添加成功
比如我们想为 JSKit 提供 cheerio 支持:
仓库名称:jsk-cheerio- 仓库地址:https://gitee.com/jskitapp/jsk-cheerio.git
- 仓库分支:v0.12