# Начало разработки
# Создание нового плагина
Для создания плагина перейдите в Настройки -> Плагины
и нажмите кнопку Создать плагин
.
После этого выберите папку, где он будет сохранен и далее заполните информацию о нем.
После нажатия на кнопку Ок
в выбранной папке появится новая папка, содержащая плагин, который сразу же установится в режиме разработки.
TIP
Плагин, установленный в режиме разработки, автоматически обновляется при каждом изменении файлов, внутри него
# Структура плагина
Внутри папки с плагином будет создан файл index.json
, описывающий структуру плагина. Пример с приведен ниже:
{
"name": "my-plugin", // 1. Служебное имя плагина
"title": "My plugin", // 2. Отображаемое имя плагина
"version": "1.0.0", // 3. Номер версии плагина
"authors": "Me", // 4. Имя автора
"description": { "@t": "description" }, // 5. Описание
// (про @t - см. раздел "Интернационализация")
"website": "http://example.com", // 6. Веб-сайт
"icon": null, // 7. Иконка
"content": [], // 8. Содержимое плагина
"api": "2.4.0", // 9. Номер версии API плагинов программы
"locale": { // 10. Локализованные строки
"en": { // (см. раздел "Интернационализация")
"description": "My own plugn"
},
"ru": {
"description": "Мой собственный плагин"
}
}
}
name - служебное имя плагина - используется для идентификации плагинов, поэтому должно быть уникальной строкой. Пользователь не может установить одноременно два плагина с одним именем
title - отображаемое имя плагина - название плагина, которое пользователь видит в списке плагинов
version - номер версии плагина, отображается в списке при раскрытии плагина. Служит для того, чтобы можно было проверить, установлена ли у пользователя последняя версия плагина или нет
authors - имя автора, отображается в списке при раскрытии плагина.
description - короткое описание плагина, отображается в списке плагинов
website - ссылка на сайт автора плагина
icon - иконка плагина, отображается в списке плагинов. Для иконки используйте png-файл размером 96x96 пикселей. Для того, чтобы вставить ссылку на файл, используйте специальную директиву:
{"@urlfile": "icon.png"}
- гдеicon.png
это название файла в папке плагинаcontent - перечень содержимого плагина (см. следующий раздел )
api - номер версии API плагинов. Плагин не может быть активирован на версии IMS Studio, не поддерживающей указанную версию API. Актуальный номер -
2.4.0
locale - служит для создания локализованных плагинов, поддерживающих несколько языков интерфейсов (см. раздел Интернационализация)
# Содержимое плагинов
Плагины представляют собой контейнеры различных сущностей программы (например, FTP-подключений). При установке плагина программа добавляет в перечень стандартных сущностей новые элементы из плагина, при деинсталляции - удаляет.
Каждая сущность описывается следующей структурой:
{
"type": "ftp", // 1. Тип сущности
"name": "my-connection", // 2. Служебное название
"title": "MyConnection", // 3. Отображаемое имя
"icon": "https://example.com/favicon.ico", // 4. Иконка
"content": { // 5. Само содержимое
// ...
},
"locale": { // 6. Локализованные строки
} // (см. раздел "Интернационализация")
}
type - тип добавляемой сущности. В данный момент поддерживаются следующие:
- destination - микросток
- ftp - FTP-подключение
- submit - процесс сабмита
name - служебное имя сущности
title - отображаемое имя сущности
icon - иконка сущности (обычно ссылка на favicon)
content - само содержимое сущности. Имеет разный формат в зависимости от типа
locale - служит для создания локализованных плагинов, поддерживающих несколько языков интерфейсов (см. раздел Интернационализация)
Для того, чтобы не загромождать файл index.json
описание элементов содержимого можно вынести в отдельные файлы и подключать их с помощью директивы {"@jsonfile": "file.json"}
, где file.json
имя файла с подключаемым содержимым. Например:
// index.json
{
"name": "my-plugin",
// ...
"content": [
{"@jsonfile": "content1.json"},
{"@jsonfile": "content2.json"},
{"@jsonfile": "content3.json"}
],
// ...
}