На этой страницеДва формата плагина
Формат .dgplugin
Код, описание и ресурсы одного плагина в обычном архиве.
Два формата плагина
Donutgram принимает одиночный файл .donut.js и архив .dgplugin. Оба формата сначала проверяются статически: открытие документа само по себе не запускает код.
Архив .dgplugin
Используйте его для плагинов с собственным значком, несколькими JavaScript-модулями и изображениями. В корне должны лежать manifest.json и файл, указанный в entry.
my-plugin/
├── manifest.json
├── main.js
├── modules/
│ └── format.js
└── assets/
└── icon.png
.dgplugin — ZIP с проверяемой структурой. Рекомендуемый путь сборки — CLI SDK, который исключает неподдерживаемые файлы и формирует воспроизводимый архив.
Одиночный .donut.js
В начале файла должны последовательно находиться маркер и статический JSON-манифест. Ключи и строки внутри манифеста заключаются в двойные кавычки.
const _plugin = "donutgram";
const manifest = {
"kind": "donutgram.plugin",
"schemaVersion": 1,
"id": "dev.example.single",
"name": "Одна команда",
"version": "1.0.0",
"description": "Минимальный плагин одним файлом",
"apiVersion": "^1.0.0",
"entry": "main.js",
"permissions": [],
"profile": "localPrivate"
};
export default definePlugin({
async activate(api) {
await api.capabilities.list();
}
});
В одиночном формате нельзя приложить файл иконки. Для своей картинки нужен .dgplugin.
Ограничения пакета
Инструменты SDK применяют ограничения: до 128 файлов, до 1 МиБ на файл и до 4 МиБ распакованных данных. Размер итогового архива не превышает 8 МиБ. Разрешены JavaScript, JSON, PNG, JPEG и WebP.
Пути должны быть относительными и однозначными. Символические ссылки, вложенные архивы, выход через .. и конфликтующие имена не принимаются.