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>