The plugin list
Settings → Plugins → Find plugins reads a list from https://git.thunraz.se/magnus/black-plugins/raw/branch/main/plugins.json (BLACK_PLUGIN_INDEX to choose another):
{
"plugins": [
{
"id": "word-of-the-day",
"name": "Word of the day",
"description": "A word to use today, every morning.",
"author": "You",
"version": "1.0.0",
"apiVersion": 1,
"sandboxed": true,
"permissions": ["network:api.example.com"],
"download": "https://example.com/word-of-the-day-1.0.0.zip",
"sha256": "…the SHA-256 that npm run build prints…",
"homepage": "https://example.com/word-of-the-day"
}
]
}Bläck Studio installs only from the list:
- The download: it fetches the zip the list names, and refuses it unless its SHA-256 is the one the list gives.
- The contents: it checks the zip holds the plugin the list says, with nothing outside its folder, before unpacking it.
To add a plugin, add its entry to the list's repository.
Lists of your own
Anyone can keep a list: a plugins.json like the one above, at an https address. A list may name itself, with "name" beside "plugins".
The writer adds one under Settings → Plugins → Find plugins → Plugin lists, by its address:
- Asked first: Bläck Studio reads the list, then asks in a window of its own whether to add it, saying its plugins aren't Bläck Studio's.
- Shown as such: its plugins are offered beside Bläck Studio's, each marked with the list it's from.
- Checked the same way: a download is checked against its list exactly as against Bläck Studio's.
- Updates: a plugin installed from a list is updated from that list only, and Bläck Studio won't put a plugin from a list in place of one installed from another, or of one being written in the plugins folder.
- Removing a list: its plugins stay installed; they just aren't offered any more.