Kiến Tạo một Kho Lưu Trữ Trình Mở Rộng Tĩnh [Creating a Static Extensions Repository]¶
To host your own extensions and leverage Blender update system all that is required is to host a static JSON file that is generated by Blender.
JSON¶
To generate a valid JSON file use the server generate Blender command-line tool:
blender --command extension server-generate --repo-dir=/path/to/packages
This creates an index.json listing from all the .zip extensions found in the --repo-dir location.
Để biết thêm chi tiết, xin hãy đọc API (Application Programming Interface: Giao Diện Lập Trình Ứng Dụng) của JSON sinh tạo.
Thử Nghiệm [Testing]¶
To test the generated repository, add a new Remote Repository from the Preferences:
Get Extensions → Repositories → [+] → Add Remote Repository
Paste the location of the generated JSON as the URL. So the example
/path/to/packageswould use the:file:///path/to/packages/index.jsonon Linux and macOS.file:///C:/path/to/packages/index.jsonon Windows.file://HOST/share/path/to/packages/index.jsonfor network shares on Windows.
Mẹo
Open file:/// in a web browser and navigate to the repository location
and copy that as the remote repository URL.
Liệt Kê Trình Mở Rộng trong HTML [Extensions Listing HTML]¶
The server-generate command can optionally create a simple website using the --html argument.
blender --command extension server-generate --repo-dir=/path/to/packages --html
This creates an index.html file ready to use, listing extensions which
can be dropped into Blender for installation.
Các Liên Kết Tải Xuống [Download Links]¶
In order to support drag and drop for installing from a remote repository, there are a few optional ways to prepare the URLs.
The only strict requirement is that the download URL must end in .zip.
You can pass different arguments to the URL to give more clues to Blender about what to do with the dropped URL.
- repository [kho lưu trữ]:
Link to the JSON file to be used to install the repository in Blender. Supports relative URLs.
- platforms [nền tảng]:
Comma-separated list of supported platforms. If omitted, the extension will be available in all operating systems.
- blender_version_min [phiên bản blender tối thiểu]:
Phiên bản Blender tối thiểu hỗ trợ, ví dụ:
4.2.0.- blender_version_max [phiên bản blender tối đa]:
Blender version that the extension does not support, earlier versions are supported.
Mẹo
The more details you provide, the better the user experience.
With the exception of the repository, all the other parameters can be extracted from the extensions manifest.
Those arguments are to be encoded as part of the URL.
- Định dạng kỳ vọng [Expected format]:
{URL}.zip?repository={kho lưu trữ}&blender_version_min={phiên bản tối thiểu}&blender_max={phiên bản tối đa riêng biệt}&platforms={nền tảng 1,nền tảng 2}- Ví dụ từ kho lưu trữ tự chủ [Example from self-hosted repository]:
http://my-site.com/my-addon.zip?repository=.%2Findex.json&blender_version_min=4.2.0&platforms=windows-x64- Ví dụ từ Nền Tảng Trình Mở Rộng [Example from the Extensions Platform]:
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-x64Ghi chú
%2Fand%2Care simply the url-encoded equivalent of/and,respectively.