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.
ping – просто возвращает одну единицу, чтобы показать, что соединение работаетquery – действие запроса по умолчанию, описанное ниже
Определяет формат вывода и указывается параметром fmt Может быть:
debug – print_r для удобного просмотраxml – XML не следует использовать, если этого можно избежатьyaml – Данные в кодировке YAMLphp – PHP сериализованные данныеjson – Данные в кодировке JSON (по умолчанию)cb параметра и это JSONP. пример: api.php?fmt=json&cb=my_callback
Все фильтры можно комбинировать и использовать функцию 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
/lib/plugins/pluginrepo/repository.php возвращает данные плагина/шаблона в виде XML. Можно использовать тот же синтаксис, что и для сортировки/фильтрации таблицы репозитория, а также запросить массив именованных плагинов.
Все еще используется, например Translate Tool
(см. код по ссылке [wiki]/lib/plugins/pluginrepo/repository.php?includetemplates=yes)
Доступные фильтры:
plugintype=32 для возврата только шаблонов.Пример вызова для получения данных о плагинах синтаксиса:
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>