Плагин репозитория расширений
Этот плагин является аналогом менеджера расширений. Он управляет расширениями (плагинами и шаблонами) здесь, на 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
and
partlyhidden
(
объяснение ))
securityissue – добавляйте это поле только в случае возникновения проблем с
безопасностью плагина. Введите здесь краткое описание и сообщите автору. Плагин будет скрыт из таблицы репозитория
downloadurl – это должен быть прямой
URL-адрес для загрузки, совместимый с самой последней версией
bugtracker – ссылка на багтрекер для этого плагина, оставьте пустым, если таковой отсутствует
sourcerepo – ссылка на веб-интерфейс системы управления исходным кодом, например
git или
darcs, оставьте пустым, если таковая отсутствует
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 – ссылка на багтрекер для этого шаблона, оставьте пустым, если таковой отсутствует
sourcerepo – ссылка на веб-интерфейс системы управления исходным кодом, например
git или
darcs, оставьте пустым, если таковая отсутствует
donationurl – ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно
Предупреждение о безопасности: предопределенные сочетания клавиш
Поле предупреждения безопасности позволяет использовать некоторые предопределенные сочетания клавиш. В следующей таблице показаны фактически определенные сочетания клавиш и их значение:
Ярлык | Значение |
informationleak | Это расширение раскрывает информацию, которая может быть ценной для хакера. Не рекомендуется для публичной установки. |
allowsscript | Это расширение позволит выполнять скрипты. Его следует использовать только тогда, когда вы доверяете ВСЕМ редакторам, лучше всего подходит для личных вики. |
requirespatch | Это расширение требует исправления ядра DokuWiki. Ручные исправления могут нарушить совместимость с другими расширениями и усложнить защиту вашей установки путем обновления до последней версии. |
partlyhidden | Скрытие частей страницы DokuWiki не поддерживается ядром. Большинство попыток ввести контроль ACL для частей страницы приведут к утечке информации через RSS-канал, поиск или другие основные функции. |
Пример частично скрытого предупреждения безопасности можно посмотреть на странице plugin:ifauth.
Руководство и API плагина репозитория
В руководстве описывается, как использовать различные компоненты плагина на dokuwiki.org.
В документации API описывается , как удаленно запросить информацию о плагине.
Совместимость с релиз-кандидатами
Когда будет доступен новый релиз-кандидат, пожалуйста, обновите домашнюю страницу плагина с соответствующей совместимостью, используйте название релиза (например, «rincewind») вместо даты RC. Таким образом, вам не придется обновлять информацию о совместимости, когда будет готов финальный релиз.