创建静态扩展存储库¶
要托管自己的扩展并利用 Blender 更新系统,只需托管一个由 Blender 生成的静态 JSON 文件即可。
JSON¶
要生成有效的 JSON 文件,请使用 server generate Blender 命令行工具:
blender --command extension server-generate --repo-dir=/path/to/packages
这将从在 --repo-dir 位置找到的所有 .zip 扩展名中创建一个 index.json
列表。
有关详细信息,请阅读生成的 JSON API。
测试¶
要测试生成的存储库,请从偏好设置中添加一个新的远程库:
获取扩展 → 存储库 → [+] → 添加扩展存储库
将生成 JSON 的位置粘贴为 URL。因此示例中的
/path/to/packages
将使用:file:///path/to/packages/index.json
(Linux 与 macOS)。file:///C:/path/to/packages/index.json
(Windows)。file://HOST/share/path/to/packages/index.json
(Windows 上的网络共享)。
Tip
在网络浏览器中打开 file:///
并导航到存储库位置,然后将其复制为远程库 URL。
扩展列表 HTML¶
server-generate
命令可以选择使用 --html
参数创建一个简单的网站。
blender --command extension server-generate --repo-dir=/path/to/packages --html
这会创建一个随时可用的 index.html
文件,列出可放入 Blender 安装的扩展。
下载链接¶
为了支持从远程存储库拖放安装,有几种可选的方法来准备 URL。
唯一严格的要求是下载 URL 必须以 .zip
结尾。
你可以将不同的参数传递给 URL,从而为 Blender 提供更多线索来告诉 Blender 如何处理 URL。
- repository:
用于在 Blender 中安装存储库的 JSON 文件链接。支持相对 URL。
- platforms:
以逗号分隔的支持平台列表。如果省略,扩展将适用于所有操作系统。
- blender_version_min:
Blender 的最低支持版本,例如
4.2.0
。- blender_version_max:
扩展不支持的 Blender 版本,支持更早的版本。
Tip
您提供的细节越多,用户体验就越好。
除了 repository
以外,所有其他参数都可以从扩展清单中提取。这些参数将作为 URL 的一部分进行编码。
- 预期的格式:
{URL}.zip?repository={repository}&blender_version_min={version_min}&blender_max={version_max_exclusive}&platforms={platform1,platform2}
- 自托管存储库示例:
http://my-site.com/my-addon.zip?repository=.%2Findex.json&blender_version_min=4.2.0&platforms=windows-x64
- 扩展平台示例:
https://extensions.blender.org/download/sha256:57a6a5f39fa2cc834dc086a27b7b2e572c12fd14f8377fb8bd1c7022df3d7ccb/add-on-amaranth-v1.0.23.zip?repository=%2Fapi%2Fv1%2Fextensions%2F&blender_version_min=4.2.0&platforms=linux-x64%2Cmacos-x64
Note
%2F
and%2C
are simply the url-encoded equivalent of/
and,
respectively.