Содержание
Плагин репозитория расширений
Этот плагин является аналогом менеджера расширений. Он управляет расширениями (плагинами и шаблонами) здесь, на dokuwiki.org, и предоставляет API для менеджера расширений.
(Также доступен плагин, похожий на этот, но с большей гибкостью, предназначенный для использования за пределами dokuwiki.org. Это плагин данных.)
Запись плагинов
Каждый плагин должен иметь домашнюю страницу в plugin
пространстве имен, содержащую как минимум краткое описание и блок данных, подобный следующему в начале:
---- plugin ---- description: Just an example to prove the point author : Joe Blow email : joe@example.com type : syntax, action, admin, helper, render lastupdate : 2007-12-17 compatible : Anteater, 2010-02-14 depends : plugin1 conflicts : plugin2 similar : plugin3 tags : example, sample downloadurl: https://github.com/example/dokuwiki-plugin-sample/zipball/master bugtracker : https://github.com/example/dokuwiki-plugin-sample/issues sourcerepo : https://github.com/example/dokuwiki-plugin-sample/ donationurl: https://www.paypal.com/... screenshot_img : http://<someserver>/image.png ----
Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список плагинов или менеджер расширений в вашей вики)
О полях:
- description – должно быть кратким описанием того, что делает плагин
- author – основной автор плагина или текущий сопровождающий
- email – адрес электронной почты основного автора плагина или текущего сопровождающего
- type – один или несколько типов плагинов (синтаксис, действие, администрирование, помощник, рендеринг)
- lastupdate – дата предоставления последней версии плагина в формате ГГГГ-ММ-ДД, используется для автоматической проверки обновлений диспетчером расширений и должна совпадать с датой в plugin.info.txt
- updatemessage – показывать сообщение, информирующее пользователей об обновлении, отображается в Extension Manager
- compatible – укажите версию(и) DokuWiki, с которой совместим ваш плагин . Можно указать несколько версий и использовать кодовые имена. Например: 2009-02-14, лемминг, муравьед.
- Используйте знак «плюс»
+
если вы считаете, что плагин будет совместим с будущими версиями DokuWiki. - Используйте восклицательный знак
!
если плагин несовместим с версией DokuWiki (например, «!Greebo»).
- depends – список зависимостей плагина, разделенный запятыми, если таковые имеются
- conflicts – список плагинов/шаблонов, разделенных запятыми, которые конфликтуют с вашим плагином, используйте
template:xxx
если конфликтуют с шаблономxxx
- similar – список плагинов, разделенных запятыми, с похожей задачей
- tags – классифицируйте свой плагин здесь. Если
!obsolete
это единственный тег, то этот плагин будет скрыт из таблицы репозитория - screenshot_img – URL-адрес изображения для характерного снимка экрана плагина/шаблона (также используется в новом менеджере расширений, который масштабирует и обрезает его до изображения размером 120×70 пикселей)
- securitywarning – используйте это поле, чтобы предупредить о внутренних проблемах безопасности плагина. Возможность выполнения произвольного скрипта может быть причиной (предопределенные значения:
informationleak
,allowsscript
,requirespatch
andpartlyhidden
(объяснение )) - securityissue – добавляйте это поле только в случае возникновения проблем с безопасностью плагина. Введите здесь краткое описание и сообщите автору. Плагин будет скрыт из таблицы репозитория
- downloadurl – это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией
- bugtracker – ссылка на багтрекер для этого плагина, оставьте пустым, если таковой отсутствует
- donationurl – ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно
Шаблон записи
Аналогично для шаблонов, но в template
пространстве имен.
---- template ---- description : Just an example to prove the point author : Joe Blow email : joe@example.com lastupdate : 2007-12-17 compatible : Anteater, 2010-02-14 depends : conflicts : example, template:sample similar : tags : example, sample downloadurl : https://github.com/example/dokuwiki-plugin-sample/zipball/master bugtracker : https://github.com/example/dokuwiki-plugin-sample/issues sourcerepo : https://github.com/example/dokuwiki-plugin-sample/ donationurl : https://www.paypal.com/... screenshot_img: http://<someserver>/image.png ----
Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список шаблонов или менеджер расширений в вашей вики).
About the fields:
- description – должно быть кратким описанием основной функции шаблона
- author – основной автор шаблона или текущий сопровождающий
- email – адрес электронной почты основного автора шаблона или текущего сопровождающего
- lastupdate – дата предоставления последней версии шаблона в формате ГГГГ-ММ-ДД, она используется для автоматической проверки обновлений диспетчером расширений и должна совпадать с датой в template.info.txt
- updatemessage – показывать сообщение, информирующее пользователей об обновлении, отображается в Extension Manager
- compatible – укажите версию(и) DokuWiki, с которой совместим ваш шаблон. Можно указать несколько версий и использовать кодовые имена. Например: 2009-02-14, лемминг, муравьед
- depends – список зависимостей шаблона, разделенных запятыми, если таковые имеются
- conflicts – список плагинов/шаблонов, разделенных запятыми, которые конфликтуют с вашим шаблоном, используйте,
template:xxx
если конфликтуют с шаблономxxx
- similar – список шаблонов с похожей задачей, разделенный запятыми
- screenshot_img – URL-адрес снимка экрана вашего шаблона (также используется в новом менеджере расширений, который масштабирует и обрезает его до изображения размером 120×70 пикселей)
- tags – классифицируйте свой шаблон здесь. Если
!obsolete
это единственный тег, то этот шаблон будет скрыт из таблицы репо - securitywarning – используйте это поле, чтобы предупредить о проблемах безопасности, присущих шаблону. Возможность выполнения произвольного скрипта может быть причиной
- securityissue – добавляйте это поле только в случае возникновения проблем с безопасностью шаблона. Введите здесь краткое описание и сообщите автору. Шаблон будет скрыт из таблицы репозитория
- downloadurl – это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией
- bugtracker – ссылка на багтрекер для этого шаблона, оставьте пустым, если таковой отсутствует
- donationurl – ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно
Предупреждение о безопасности: предопределенные сочетания клавиш
Поле предупреждения безопасности позволяет использовать некоторые предопределенные сочетания клавиш. В следующей таблице показаны фактически определенные сочетания клавиш и их значение:
Ярлык | Значение |
---|---|
informationleak | Это расширение раскрывает информацию, которая может быть ценной для хакера. Не рекомендуется для публичной установки. |
allowsscript | Это расширение позволит выполнять скрипты. Его следует использовать только тогда, когда вы доверяете ВСЕМ редакторам, лучше всего подходит для личных вики. |
requirespatch | Это расширение требует исправления ядра DokuWiki. Ручные исправления могут нарушить совместимость с другими расширениями и усложнить защиту вашей установки путем обновления до последней версии. |
partlyhidden | Скрытие частей страницы DokuWiki не поддерживается ядром. Большинство попыток ввести контроль ACL для частей страницы приведут к утечке информации через RSS-канал, поиск или другие основные функции. |
Пример частично скрытого предупреждения безопасности можно посмотреть на странице plugin:ifauth.
Руководство и API плагина репозитория
В руководстве описывается, как использовать различные компоненты плагина на dokuwiki.org.
В документации API описывается , как удаленно запросить информацию о плагине.
Совместимость с релиз-кандидатами
Когда будет доступен новый релиз-кандидат, пожалуйста, обновите домашнюю страницу плагина с соответствующей совместимостью, используйте название релиза (например, «rincewind») вместо даты RC. Таким образом, вам не придется обновлять информацию о совместимости, когда будет готов финальный релиз.