Содержание

Репозиторий расширений

API репозитория расширений

API позволяет запрашивать список доступных расширений DokuWiki. Он доступен по адресу https://www.dokuwiki.org/lib/plugins/pluginrepo/api.php

Этот API используется плагином Extension Manager Plugin.

/lib/plugins/pluginrepo/api.php?fmt=json&ext[]=plugin1&ext[]=plugin2

/lib/plugins/pluginrepo/api.php?fmt=json with &ext[]=plugin1, &tag[]=tag1, &mail[]=mail1, &type[]=4 and/or &q=text.

Команды

Использование cmd параметра определяет, что возвращается API.

Форматы

Определяет формат вывода и указывается параметром fmt Может быть:

Фильтры

Все фильтры можно комбинировать и использовать функцию AND.

Имя расширения

Укажите одно или несколько имен в ext[] параметре. Префикс template: для шаблонов.

На данный момент только полные совпадения.

пример: api.php?ext[]=wrap&ext[]=template:ach

Полнотекстовый поиск

Параметр q позволяет задать полнотекстовый запрос (с расширением запроса). Если не limit указано, то ограничение устанавливается равным 50. Если не order указано, то результат сортируется по баллу результата.

Полнотекстовый индекс использует поля плагина, имени, описания, автора и тега.

пример: api.php?q=wrap

Тип

Для фильтрации по типу используйте type параметр, можно сложить несколько типов.

Поддерживается:

пример: api.php?type=5

Теги

Фильтрация по одному или нескольким тегам (ИЛИ) с использованием tag[] параметра.

На данный момент только полные совпадения.

пример: api.php?tag[]=media&tag[]=video

Электронная почта

Мы не раскрываем адреса электронной почты, чтобы избежать спама. Вместо этого используется MD5 адреса электронной почты в нижнем регистре. Вы можете использовать его для запроса по адресу(ам) электронной почты с помощью mail параметра.

пример: api.php?mail[]=4933823dc5f71300a20a506869fcf4d9

Заказ

Вы можете влиять на порядок результатов с помощью order параметра.

Поддерживаемые поля:

пример: api.php?order=lastupdate

Предел

Вы можете ограничить количество результатов с помощью limit параметра.

пример: api.php?limit=5

Old Repository API

/lib/plugins/pluginrepo/repository.php возвращает данные плагина/шаблона в виде XML. Можно использовать тот же синтаксис, что и для сортировки/фильтрации таблицы репозитория, а также запросить массив именованных плагинов.

Все еще используется, например Translate Tool
(см. код по ссылке [wiki]/lib/plugins/pluginrepo/repository.php?includetemplates=yes)

Доступные фильтры:

Пример вызова для получения данных о плагинах синтаксиса:

http://www.dokuwiki.org/lib/plugins/pluginrepo/repository.php?plugintype=1&plugintag=list

Пример вывода:

<repository>
  <plugin>
    <id>captcha</id>
    <dokulink>plugin:captcha</dokulink>
    <popularity>5947</popularity>
    <name>CAPTCHA Plugin</name>
    <description>Use an image verification (CAPTCHA) to defeat spambots</description>
    <author>Andreas Gohr</author>
    <type>Action, Helper</type>
    <lastupdate>2016-01-24</lastupdate>
    <compatible>
      <release>2015-08-10</release>
      <release>2014-09-29</release>
      <release>2014-05-05</release>
      <release>2013-12-08</release>
    </compatible>
    <securityissue></securityissue>
    <securitywarning></securitywarning>
    <tags>
      <tag>captcha</tag>
      <tag>spam</tag>
    </tags>
    <screenshoturl></screenshoturl>
    <thumbnailurl></thumbnailurl>
    <downloadurl>https://github.com/splitbrain/dokuwiki-plugin-captcha/zipball/master</downloadurl>
    <sourcerepo>https://github.com/splitbrain/dokuwiki-plugin-captcha</sourcerepo>
    <bugtracker>https://github.com/splitbrain/dokuwiki-plugin-captcha/issues</bugtracker>
    <donationurl>http://donate.dokuwiki.org/CAPTCHA</donationurl>
    <relations>
      <similar></similar>
      <conflicts></conflicts>
      <depends></depends>
    </relations>
  </plugin>
  <plugin>
    ...
  </plugin>
  ...
</repository>