Пример: схема плагина¶
Схема плагина даёт Grav сведения о том, что представляет собой плагин, где его исходный код, поддержка и сведения об авторе, зависимости и поля формы, используемые для управления плагином в админке Grav.
Вот пример схемы плагина:
Есть разные свойства, с помощью которых можно задать идентичность ресурса. Некоторые из них обязательны, другие — необязательны.
| свойство | описание |
|---|---|
| name* | Имя ресурса. Не добавляйте к нему Plugin или Theme — в этом нет необходимости. |
| slug* | Уникальный идентификатор ресурса; он также используется для определения имени папки, в которой хранится ресурс, например user/plugins/__slug__. |
| type* | Тип ресурса: plugin или theme. |
| version* | Версия ресурса. Это значение должно меняться при каждом выпуске, инкрементально. Также следует придерживаться стандарта semver. |
| description* | Описание ресурса. Не превышайте 200 символов. Описание должно быть коротким и по существу. При необходимости можно использовать синтаксис markdown. Также рекомендуется заключать описание в кавычки. |
| icon* | Иконка, которая будет использоваться на getgrav.org. Сейчас используется библиотека иконок Font Awesome, поэтому при разработке нового плагина или темы вы должны убедиться, что выбранная иконка ещё не занята. Иначе нам придётся заменить её за вас. |
| screenshot | (необязательно) Скриншот учитывается только для тем и полностью игнорируется для плагинов. Для тем это имя файла скриншота, поставляемого с темой (по умолчанию: screenshot.jpg). Если в корне темы есть изображение screenshot.jpg, этот параметр можно не указывать: наш репозиторий подхватит его автоматически. |
| author.name* | Полное имя разработчика. |
| author.email | (необязательно) Email разработчика. |
| author.url | (необязательно) Домашняя страница разработчика. |
| homepage | (необязательно) Если у ресурса есть отдельная домашняя страница, укажите её здесь. |
| docs | (необязательно) Если для ресурса написана документация, её можно указать здесь. |
| demo | (необязательно) Если у ресурса есть работающее демо, укажите ссылку здесь. |
| guide | (необязательно) Если у ресурса есть уроки или руководства, укажите ссылку здесь. |
| keywords | (необязательно) Хотя практической пользы от ключевых слов пока нет, их можно перечислить здесь через запятую. |
| bugs | (необязательно) URL, по которому можно сообщить об ошибках; обычно это ссылка на GitHub issues. |
| license | (необязательно) Тип лицензии ресурса (MIT, GPL и т. д.). Рекомендуется всегда прилагать к ресурсу файл LICENSE. |
| dependencies | (необязательно) Список зависимостей, необходимых плагину или теме. По умолчанию они устанавливаются через GPM, но если указан необязательный URL репозитория GIT, установка прямо из репозитория тоже будет доступна. Если используется массив, можно явно указать имя и версию с помощью версий пакетов в стиле Composer. |
| gpm | (необязательно) Получать ли обновления из GPM. Установите false, чтобы отключить обновления GPM для ресурсов, распространяемых не через GPM. |
Внимание
Учтите, что в зависимостях должно использоваться имя, заданное в свойстве slug файла blueprints.yaml плагина или темы.
Вот пример части с идентификацией из схемы плагина GitHub:
Схемы тем работают почти так же, как схемы плагинов.