====== Плагин репозитория расширений ====== Этот плагин является аналогом [[wiki:plugin:extension|менеджера расширений]]. Он управляет [[wiki:extensions|расширениями]] ([[wiki:plugins|плагинами]] и [[wiki:templates|шаблонами]]) здесь, на dokuwiki.org, и предоставляет API для менеджера расширений. (Также доступен плагин, похожий на этот, но с большей гибкостью, предназначенный для использования за пределами dokuwiki.org. Это [[wiki:plugin:data|плагин данных]].) ===== Запись плагинов ===== Каждый плагин должен иметь домашнюю страницу в ''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:///image.png ---- Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список [[wiki:plugins|плагинов]] или [[wiki:plugin:Extension|менеджер расширений]] в вашей вики) О полях: * **description** -- должно быть кратким описанием того, что делает плагин * **author** -- основной автор плагина или текущий сопровождающий * **email** -- адрес электронной почты основного автора плагина или текущего сопровождающего * **type** -- один или несколько типов плагинов (синтаксис, действие, администрирование, помощник, рендеринг) * **lastupdate** -- дата предоставления последней версии плагина в формате ГГГГ-ММ-ДД, используется для автоматической проверки обновлений диспетчером [[wiki:plugin:Extension|расширений]] и должна совпадать с датой в [[wiki:devel:plugin_info|plugin.info.txt]] * **updatemessage** -- показывать сообщение, информирующее пользователей об обновлении, отображается в Extension Manager * **compatible** -- укажите версию(и) DokuWiki, с которой [[wiki:extension_compatibility|совместим]] ваш плагин . Можно указать несколько версий и использовать кодовые имена. Например: 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'' ([[wiki:plugin:repository:manual#entry_component|объяснение ]])) * **securityissue** -- добавляйте это поле только в случае возникновения проблем с [[wiki:devel:security|безопасностью]] плагина. Введите здесь краткое описание и сообщите автору. Плагин будет скрыт из таблицы репозитория * **downloadurl** -- это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией * **bugtracker** -- ссылка на багтрекер для этого плагина, оставьте пустым, если таковой отсутствует * **sourcerepo** -- ссылка на веб-интерфейс системы управления исходным кодом, например [[wiki:devel:git]] или [[wiki:devel: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:///image.png ---- Информация хранится в базе данных и используется для создания динамического браузера репозитория (см. список [[wiki:template|шаблонов]] или [[wiki:plugin:Extension|менеджер расширений]] в вашей вики). About the fields: * **description** -- должно быть кратким описанием основной функции шаблона * **author** -- основной автор шаблона или текущий сопровождающий * **email** -- адрес электронной почты основного автора шаблона или текущего сопровождающего * **lastupdate** -- дата предоставления последней версии шаблона в формате ГГГГ-ММ-ДД, она используется для автоматической проверки обновлений диспетчером [[wiki:plugin:Extension|расширений]] и должна совпадать с датой в [[wiki:devel:template_info|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** -- добавляйте это поле только в случае возникновения проблем с [[wiki:devel:security|безопасностью]] шаблона. Введите здесь краткое описание и сообщите автору. Шаблон будет скрыт из таблицы репозитория * **downloadurl** -- это должен быть прямой URL-адрес для загрузки, совместимый с самой последней версией * **bugtracker** -- ссылка на багтрекер для этого шаблона, оставьте пустым, если таковой отсутствует * **sourcerepo** -- ссылка на веб-интерфейс системы управления исходным кодом, например [[wiki:devel:git]] или [[wiki:devel:darcs]], оставьте пустым, если таковая отсутствует * **donationurl** -- ссылка на PayPal, список желаний Amazon или что-то подобное, где люди могут сделать вам пожертвование; оставьте пустым, если ничего не доступно ===== Предупреждение о безопасности: предопределенные сочетания клавиш ===== Поле предупреждения безопасности позволяет использовать некоторые предопределенные сочетания клавиш. В следующей таблице показаны фактически определенные сочетания клавиш и их значение: ^ Ярлык ^ Значение ^ | **informationleak** | Это расширение раскрывает информацию, которая может быть ценной для хакера. Не рекомендуется для публичной установки. | | **allowsscript** | Это расширение позволит выполнять скрипты. Его следует использовать только тогда, когда вы доверяете ВСЕМ редакторам, лучше всего подходит для личных вики. | | **requirespatch** | Это расширение требует исправления ядра DokuWiki. Ручные исправления могут нарушить совместимость с другими расширениями и усложнить защиту вашей установки путем обновления до последней версии. | | **partlyhidden** | Скрытие частей страницы DokuWiki не поддерживается ядром. Большинство попыток ввести контроль ACL для частей страницы приведут к утечке информации через RSS-канал, поиск или другие основные функции. | Пример **частично скрытого** предупреждения безопасности можно посмотреть на странице [[wiki:plugin:ifauth|plugin:ifauth]]. ===== Руководство и API плагина репозитория ===== В [[wiki:plugin:repository:manual|руководстве]] описывается, как использовать различные компоненты плагина на dokuwiki.org. В [[wiki:plugin:repository:api| документации API]] описывается , как удаленно запросить информацию о плагине. ===== Совместимость с релиз-кандидатами ===== Когда будет доступен новый релиз-кандидат, пожалуйста, обновите домашнюю страницу плагина с соответствующей совместимостью, используйте название релиза (например, «rincewind») вместо даты RC. Таким образом, вам не придется обновлять информацию о совместимости, когда будет готов финальный релиз.