Это старая версия документа!
Содержание
Пример разработки плагина ссылки
Суть нашего плагина будет во вставке часто используемых шаблонов описания ссылок, например: Ссылка на оригинальную статью, См. также и Читать далее…. Статья затронет добавление кнопки нашего плагина на панель инструментов редактора (toolbar), описание процесса разработки и закончим переводом нашего плагина на другие языки.
Подготовка папок и файлов
В папке lib/plugins создадим папку нашего плагина (например link или mylink). Я использую название mylink, т.к. более простые могут быть заняты. В нашей папке создадим файлы:
- plugin.info.txt
- README.md
- script.js
и папку:
- images
Файл plugin.info.txt
Каждый плагин должен предоставить некоторую базовую информацию о себе. Это делается через файл с именем, plugin.info.txt расположенный в каталоге плагина .
Вот пример того, как должен выглядеть такой файл.
- plugin.info.txt
base mylink author VladPolskiy email polskiyvn@gmail.com date 2025-01-09 name mylink syntax plugin desc Inserts frequently used link descriptions into Dokuwiki. url https://www.dokuwiki.org/plugin:mylink
| Параметр | Описание |
|---|---|
| base | Техническое имя плагина. Менеджер расширений установит его в этот каталог. |
| author | Полное имя автора плагина |
| Электронная почта для связи с автором плагина по поводу этого плагина | |
| date | Дата последнего обновления этого плагина в формате ГГГГ-ММ-ДД. Не забудьте обновить это, когда будете обновлять свой плагин! 1) |
| name | Удобочитаемое имя плагина |
| desc | Описание того, что делает плагин |
| url | URL-адрес , по которому можно получить более подробную информацию о плагине |
| minphp | Минимальная версия PHP, требуемая для этого плагина. Пусто для того же, что и DokuWiki. Только Major.Minor версия, например 8.2, не 8.2.3 может быть указана! |
| maxphp | Максимальная версия PHP, поддерживаемая этим плагином. Пусто для того же, что и DokuWiki. Только Major.Minor версия, например 8.2, не 8.2.3может быть указана! |
Примечание: plugin.info.txt заменяет старый вызов getInfo() в ваших компонентах плагина для DokuWiki 2009-12-25 «Lemming» и более поздних версий. getInfo() теперь реализован в базовом классе и будет считывать всю информацию из этого файла. Его больше не нужно реализовывать в ваших подклассах.
Файл README.md
README.md служит первым документом для пользователей и разработчиков, которые хотят понять назначение, настройку и использование проекта.
- README.md
# плагин моих ссылок Это плагин для [dokuwiki](https://www.dokuwiki.org/start).. См. [домашнюю страницу](https://www.dokuwiki.org/plugin:mylink) для получения подробной документации. Здесь мы приводим краткое описание требуемого синтаксиса: ``` {magnifier-lefticon}См. так-же [[:example|]] {blue-document--arrowicon}[[http://example.com| Ссылка на оригинальную статью]] ``` - Квадратные скобки обозначают ссылку.
Файл script.js
JavaScript файл с рабочим кодом нашего плагина (подключения кнопки и вывод описания нашей ссылки в тело редактируемой страницы.
- script.js
/* JavaScript function to create mylink toolbar in Dokuwiki */ /* see http://www.dokuwiki.org/plugin:mylink for more info */ mylink_icobase = "../../plugins/mylink/images/"; if(window.toolbar != undefined) { toolbar[toolbar.length] = { "type":"picker", "title":"My links", "icon":mylink_icobase+"toolbar_icon.png", "list":[{ "type":"format", "title":"Link to the original article", "icon":mylink_icobase+"blog.png", "open":"[[", "sample":"http://example.com|Link to the original article", "close":"]]" }, { "type":"format", "title":"See also", "icon":mylink_icobase+"magnifier-medium-left.png", "open":"See also: [[", "sample":"http://example.com|", "close":"]]" } ] }; }

