======Icons для «ДокуВики»====== {{:wiki:plugin:dwplugin.png?70 |}} Предоставляет визуальный интерфейс вставки иконок Font-Awesome, Glyphicons, Material Design Icons, Typicons, Font-Linux и RPG-Awesome. Этот плагин добавляет дополнительную кнопку в редактор страниц. С помощью этой кнопки можно выбирать иконки в визуальном интерфейсе. Этот плагин был разработан Ди Терлицци. * **Релиз:** 2024-10-30. * **Репозиторий:**https://github.com/LotarProject/dokuwiki-plugin-icons/ * **Совместимость с «Докувики»:** 04.04.2023 "Джек Джекрам" =====Совместимость===== * 2024-02-06 "Kaos" да * 2023-04-04 "Jack Jackrum" да * 2022-07-31 "Igor" да * 2020-07-29 "Hogfather" да :!: **Примечание:** При возникновении ошибки вида **Error: Call to undefined function trigger_event()** в 2024-02-06 "Kaos" смотрите вариант исправления ниже в разделе [[wiki:plugin:icons#Часто задаваемые вопросы|Часто задаваемых вопросов]]. =====Монтаж===== Используйте менеджер плагинов для установки или… - скачать zip-файл - распаковать его в /lib/plugins/ - войдите как администратор и измените плагин в менеджере конфигурации :!: **Дополнительные внешние требования:** Для этого плагина требуются следующие дополнительные компоненты, которые необходимо установить отдельно: * [[http://fontawesome.io/|Font Awesome]] * [[http://getbootstrap.com|Glyphicons from Twitter Bootstrap]] =====Примеры/Использование===== Посмотрите на плагин в действии [[http://lotar.altervista.org/dokuwiki/wiki/plugin/icons|здесь]]здесь. На странице-образце показаны все стили, доступные в плагине. {{:wiki:plugin:plugens_icon_4.jpg?|}} Простое использование: {{icon>home}} Некоторые более сложные варианты использования: {{icon>home?24&circle&padding=10px&background=#DDD&color=#CCC}} {{fa>home|My Home}} {{fugue>user?24}} {{silk>anchor}} {{flag>no}} [[:wiki:welcome|{{fa>home?24|Welcome to DokuWiki}}]] [[https://github.com/LotarProject/dokuwiki-plugin-icons|{{fa>github-square?24|Icons DokuWiki plugin on GitHub}}]] {{icon>home?24&circle&padding=10px&background=#DDD&color=#CCC}} {{fa>home|My Home}} {{fugue>user?24}} {{silk>anchor}} {{flag>no}} [[:wiki:welcome|{{fa>home?24|Welcome to DokuWiki}}]] [[https://github.com/LotarProject/dokuwiki-plugin-icons|{{fa>github-square?24|Icons DokuWiki plugin on GitHub}}]] ===== Синтаксис ===== === Базовый синтаксис === {{icon>icon-name&flags|title}} === Синтаксис ссылки DokuWiki === [[:dokuwiki:page|{{icon>icon-name&flags|title}}]] === Синтаксис внешней ссылки === [[protocol://host/path|{{icon>icon-name&flags|title}}]] === Доступные пакеты иконок === ^ Пакет ^^^ | ''icon'' | стандартный набор иконок (см. defaultPack) | | ''fa'' | Font-Awesome | font icon | | ''ra'' | RPG-Awesome | font icon | | ''glyphicon'' | Glyphicons | font icon | | ''typcn'' | Typicons | font icon | | ''mdi'' | Material Design Icons | font icon | | ''fl'' | Font-Linux | font icon | | ''fugue'' | Fugue | | | ''oxygen'' | KDE Oxygen | | | ''breeze'' | KDE Plasma Breeze | | === Всплывающий помощник === {{ http://lotar.altervista.org/wiki/_media/wiki/plugin/icons-popup.png?200}} Icons plugin provide a popup helper to easy add the icons in your page. To open the popup click to DokuWiki icon in the toolbar in edit page. The popup support this icon packs: * Font-Awesome * RPG-Awesome * Typicons * Material Design Icons * Glyphicons =====Конфигурация и настройки===== ^ Вариант конфигурации ^ Значение по умолчанию ^ Описание ^ ^ ''defaultSize'' | ''16'' | Значение по умолчанию, если размер не указан | ^ ''defaultPack'' | ''fa'' | Пакет иконок по умолчанию, если не указано иное | ^ ''loadFontAwesome'' | ''On'' | Font Awesome : разрешить/запретить загрузку CSS (отключите, если у вас шаблон на основе Bootstrap3) | ^ ''loadTypicons'' | ''Off'' | Typicons : включить значок шрифта | ^ ''loadFontlinux'' | ''Off'' | Font-Linux : включить значок шрифта | ^ ''loadMaterialDesignIcons'' | ''On'' | Иконки материалов : включить значок шрифта | ^ ''loadRpgAwesome'' | ''On'' | Font-Linux : включить значок шрифта | ^ ''fugueURL'' | (CDN URL) | Fugue CDN или локальный URL | ^ ''oxygenURL'' | (CDN URL) | KDE Oxygen CDN или локальный URL | ^ ''breezeURL'' | (CDN URL) | KDE Plasma Breeze CDN или локальный URL | ^ ''silkURL'' | (CDN URL) | Silk CDN или локальный URL | ^ ''flagURL'' | (CDN URL) | //Флаг// CDN или локальный URL | **ПРИМЕЧАНИЕ для пакета значков флагов**: по умолчанию используются флаги из [[:plugin:translation|плагина перевода]] присутствующего в вашей установке DokuWiki.. ===== Флаги ===== ^ Флаг ^ Значение ^ Описание ^ | ''size'' | (см. defaultSizeвариант) | Размер значка (в пикселях) | | ''pack'' | (см. defaultPackвариант) | Набор иконок (fa, glyphicon, fugue, oxygen) | | ''circle'' | - | Создайте круг вокруг значка. | | ''border'' | - | Добавьте рамку вокруг значка | | ''borderColor''| - | Установить цветную границу | | ''padding'' | - | Применить отступ к иконке (в пикселях) | | ''background'' | - | Применить фон к значку (в шестнадцатеричном формате или в виде названия цвета) | | ''color'' | - | Применить цвет к значку (в шестнадцатеричном формате или в виде названия цвета) | | ''class'' | - | Добавляет дополнительные CSS- классы к значку (полезно для Font Awesome или Glyphicon) | | ''align'' | ''left|center|right'' | Выровнять значок ( по левому краю , по правому краю или по центру) | | ''left'' | - | Выровнять значок по //левому// краю | | ''right'' | - | Выровнять значок по //правому// краю | | ''center'' | - | Выровнять значок по //центру// | ==== Флаги Font Awesome ==== ^ Флаг ^ Значение ^ Описание ^ | ''lg'' | - | Увеличение размера иконки на 33% | | ''2x|3x|4x|5x'' | - | Увеличить размер значка | | ''border'' | - | Добавить границу к значку | | ''spin'' | - | Добавить анимацию вращения | | ''pulse'' | - | Добавить анимацию пульса | | ''rotate'' | ''90|180|270'' | Повернуть значок | | ''flip'' | ''horizontal|vertical'' | Перевернуть значок | | ''pull-left'' | - | Потяните значок влево | | ''pull-right'' | - | Потяните значок вправо | ===== Демо ===== Демонстрация и примеры доступны по адресу [[http://www.lotar.altervista.org/dokuwiki/wiki/plugin/icons]]. ===== Часто задаваемые вопросы ===== ====Как установить Font Awesome и Glyphicon в портативную версию Dokuwiki?==== Первый шаг, скачайте пакет Font Awesome и создайте в вашей установке DokuWiki каталог (например, ''assets/font-awesome'') и поместите все файлы. Следующий шаг в **Configuration Manager**, установите ''loadFontAwesome'' и введите ''url'' вашего локального пакета font awesome в ''fontAwesomeURL'' (например, ''/dokuwiki/assets/font-awesome/css/font-awesome.min.css''). ====Не работает ли плагин-помощник?==== Это происходит потому, что скрипт, который использует jQuery в ''/lib/plugins/icons/exe/popup.php'', вызывает jQuery до загрузки jQuery. Весь jQuery встроен с тегом defer, поэтому и возникает эта ошибка. **безопасное решение**: - сделайте резервную копию popup.php - скопируйте скрипт, который находится внутри **popup.php** (скрипт для справки находится внизу этого комментария) - создайте файл **popup_script.js** в том же каталоге и вставьте в него этот скопированный скрипт - удалите этот скрипт из **popup.php**. - на место удаленного скрипта вставте скрипт следующего вида **** - и сохраните. примечание: браузер игнорирует, ''defer'' если '' перезагрузите страницу, вызовите всплывающее меню, теперь все работает. Скрипт для справки: jQuery(document).ready(function() { var is_bootstrap = (typeof jQuery.fn.modal !== "undefined"); var $icon_pack = jQuery('#icon_pack'), $icon_name = jQuery('#icon_name'), $icon_size = jQuery('#icon_size'), $icon_align = jQuery('#icon_align'), $output = jQuery('#output'), $preview = jQuery('#preview'); if (! is_bootstrap) { jQuery('.tab-pane').hide(); } jQuery('button[data-icon-size]').on('click', function() { jQuery('button[data-icon-size]').removeClass('active'); jQuery(this).addClass('active'); $icon_size.val(jQuery(this).data('icon-size')); jQuery(document).trigger('popup:build'); }); jQuery('button[data-icon-align]').on('click', function() { jQuery('button[data-icon-align]').removeClass('active'); jQuery(this).addClass('active'); $icon_align.val(jQuery(this).data('icon-align')); jQuery(document).trigger('popup:build'); }); jQuery('ul.nav a').on('click', function() { if (! is_bootstrap) { jQuery('.tab-pane').hide(); jQuery('ul.nav li.active').removeClass('active'); jQuery(jQuery(this).attr('href')).show(); jQuery(this).parent().addClass('active'); } $icon_pack.val(jQuery(this).data('pack')); jQuery('.preview-box').removeClass('hide'); jQuery(document).trigger('popup:reset'); }); jQuery('.btn-icon').on('click', function() { $icon_name.val(jQuery(this).data('icon-name')); jQuery(document).trigger('popup:build'); }); jQuery(document).on('popup:build', function() { var icon_pack = $icon_pack.val(), icon_size = $icon_size.val(), icon_align = $icon_align.val(), icon_name = $icon_name.val(); if (! icon_name) { return false; } var syntax = [ '{{' ]; syntax.push(icon_pack); syntax.push('>' + icon_name); var icon_size_pixel = 0; switch (icon_size) { case 'small': icon_size_pixel = 24; break; case 'medium': icon_size_pixel = 32; break; case 'large': icon_size_pixel = 48; break; } if (icon_size_pixel) { syntax.push('?' + icon_size_pixel); } if (icon_align) { syntax.push('&align=' + icon_align); } syntax.push('}}'); $output.val(syntax.join('')); $preview.text(syntax.join('')); }); jQuery('#btn-reset').on('click', function() { jQuery(document).trigger('popup:reset'); }); jQuery(document).on('popup:reset', function() { jQuery('form').each(function(){ jQuery(this)[0].reset(); }); $output.val(''); $preview.text(''); }); jQuery('#btn-preview, #btn-insert').on('click', function() { if (jQuery(this).attr('id') === 'btn-insert') { opener.insertAtCarret('wiki__text', $output.val()); opener.focus(); } }); }); [[https://github.com/giterlizzi/dokuwiki-plugin-icons/issues/26#issuecomment-1475016611|Ссылка на решение проблеммы на форуме wiki]] ===Альтернативный способ=== * {{ :wiki:plugin:popup.zip |загрузить измененный popup.php и файл popup_script.js}} * распакуйте в папку ''/lib/plugins/icons/exe/'' с заменой файлов. ===Настройка и поддержка Fontawesome 6.71=== [[https://github.com/jasonwch|jasonwch]] модифицировал этот плагин для поддержки последнего набора иконок Fontawesome 6.71. P.S. Этот ZIP-архив содержит ТОЛЬКО измененные/добавленные файлы. ОБЯЗАТЕЛЬНО установите оригинальный плагин, а затем замените/добавьте эти файлы. {{ :wiki:plugin:dw_icons_fa6.zip |dw_icons_fa6.zip}} Что изменено в модифицированной версии: * заменен набор иконок на Fontawesome 6.71. Поскольку 6.71 отделил иконки брендов, для таких иконок есть дополнительная вкладка/префикс * * (должно быть) совместимым с уже добавленными значками FA из предыдущей версии, поэтому старые страницы не нужно обновлять вручную * * добавить дополнительную вкладку руководства во всплывающем окне для более удобного использования тегов * * В сочетании с исправлением js defer, оригинальный скрипт расширения должен отключить defer JS со страницы конфигурации для работы. Из [[https://github.com/giterlizzi/dokuwiki-plugin-icons/issues/26|issue#26]], "inbsp" предоставил исправление для разделения JS, чтобы исправить эту ошибку. Однако, когда всплывающее окно появляется, вам все равно нужно переключить страницу один раз, чтобы отобразить значки. Техническое примечание: - Я использовал Node.js для извлечения нового имени значка в виде списка для замены оригинального list-font-awesome.php ( https://github.com/mackilroy007/font-awesome-v6 ) - добавлены строки комментариев в измененных файлах, чтобы вам было легче проверить, какая строка была изменена. [[https://github.com/giterlizzi/dokuwiki-plugin-icons/issues/32|Ссылка на оригинальный текст]] {{ :wiki:plugin:icons_plugens_new.rar |}} ==== Ошибка вида Error: Call to undefined function trigger_event() ==== {{:wiki:plugin:plugin_icons_error_edit_1.png?|}} Данная ошибка может возникнуть при обновлении dokuwiki с 2023-04-04 «Jack Jackrum» на 2024-02-06 «Kaos» и означает ''Вызов неопределенной функции trigger_event()''. * Имя класса ''dokuwiki\Extension\Event'' * Публичный метод ''trigger()''- автоматическая сигнализация событий. Этот метод принимает два необязательных параметра: действие по умолчанию (обратный вызов) и то, можно ли его предотвратить (bool), и возвращает результаты события. Он отслеживает весь процесс события, сигнализируя совет «ДО», запуская действие по умолчанию и сигнализируя совет «ПОСЛЕ». $tmp = array(); trigger_event('MEDIAMANAGER_STARTED', $tmp); session_write_close(); //close session **безопасное решение**:\\ в начале добавляем класс Event ''use dokuwiki\Extension\Event;'' require_once(DOKU_INC.'inc/init.php'); require_once(DOKU_INC.'inc/template.php'); require_once(DOKU_INC.'inc/lang/en/lang.php'); require_once(DOKU_INC.'inc/lang/'.$conf['lang'].'/lang.php'); use dokuwiki\Extension\Event; Меняем код вызова функции ''%%trigger_event('MEDIAMANAGER_STARTED', $tmp);%%'' на ''%%Event::createAndTrigger('MEDIAMANAGER_STARTED', $tmp);%%'' $tmp = array(); Event::createAndTrigger('MEDIAMANAGER_STARTED', $tmp); session_write_close(); //close session Сохраняем, очищаем кэш local.php и перегружаем страницу редактора dokuwiki {{:wiki:plugin:plugin_icons_error_edit_2.png?|}} в раскрывшемся окне выбираем понравившуюся иконку и вставляем в тело страницы {{:wiki:plugin:plugin_icons_error_edit_3.png?|}}
«См.подробности редактирования файла popur.php» * @copyright (C) 2015-2019, Giuseppe Di Terlizzi */ if (!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/../../../../'); define('DOKU_MEDIAMANAGER', 1); // needed to get proper CSS/JS global $lang; global $conf; global $JSINFO; require_once(DOKU_INC.'inc/init.php'); require_once(DOKU_INC.'inc/template.php'); require_once(DOKU_INC.'inc/lang/en/lang.php'); require_once(DOKU_INC.'inc/lang/'.$conf['lang'].'/lang.php'); use dokuwiki\Extension\Event; $JSINFO['id'] = ''; $JSINFO['namespace'] = ''; $tmp = array(); Event::createAndTrigger('MEDIAMANAGER_STARTED', $tmp); session_write_close(); //close session $icons_plugin = plugin_load('action','icons'); $use_font_awesome = $icons_plugin->getConf('loadFontAwesome'); $use_material_design_icons = $icons_plugin->getConf('loadMaterialDesignIcons'); $use_typicons = $icons_plugin->getConf('loadTypicons'); $use_font_linux = $icons_plugin->getConf('loadFontlinux'); $use_rpg_awesome = $icons_plugin->getConf('loadRpgAwesome'); $use_glyphicons = false; # Load Bootstrap3 Template assets if ($conf['template'] == 'bootstrap3') { include_once(DOKU_INC.'lib/tpl/bootstrap3/tpl_functions.php'); include_once(DOKU_INC.'lib/tpl/bootstrap3/tpl_global.php'); # Glyphicons is bundled into Bootstrap 3.x $use_glyphicons = true; } $list_material_design_icons = include(dirname(__FILE__) . '/list-material-design-icons.php'); $list_font_awesome = include(dirname(__FILE__) . '/list-font-awesome.php'); # add V6 brand icons $list_font_awesome_br = include(dirname(__FILE__) . '/list-font-awesome-br.php'); # add V6 brand icons $list_glyphicon = include(dirname(__FILE__) . '/list-glyphicon.php'); $list_typicons = include(dirname(__FILE__) . '/list-typicons.php'); $list_font_linux = include(dirname(__FILE__) . '/list-font-linux.php'); $list_rpg_awesome = include(dirname(__FILE__) . '/list-rpg-awesome.php'); header('Content-Type: text/html; charset=utf-8'); header('X-UA-Compatible: IE=edge,chrome=1'); ?> Icons Plugin

Flag Flag (FA) Values Description
size - (see defaultSize option) Size of icon (in pixel)
pack - (see defaultPack option) Icon pack (fa, glyphicon, fugue, oxygen)
circle - - Create a circle around the icon
border - - Add a border around the icon
borderColor - - Set the color border
padding - - Apply a padding to the icon (in pixel)
background - - Apply a background to the icon (in hex or color name)
color - - Apply a color to the icon (in hex or color name)
class - - Adds additional CSS classes to the icon (useful for Font Awesome or Glyphicon)
align - left|center|right Align icon (left, right or center)
left - - Align icon to left
right - - Align icon to right
center - - Align icon to center
- lg - Increase of 33% the size of icon
- 2x|3x|4x|5x - Increase the size of icon
- border - Add border to icon
- spin - Add spin animation
- pulse - Add pulse animation
- rotate 90|180|270 Rotate the icon
- flip horizontal|vertical Flip the icon
- pull-left - Pull the icon to left
- pull-right - Pull the icon to right


 



      
      
      
      
      

    
* Скачайте мод {{ :wiki:plugin:icons_kaos.zip |архив icons_kaos.zip}} и разорхивируйте * Установите плагин icons.zip через менеджер плагинов =====Обновление===== Для обновления удалите исходную папку lib/plugins/icons и установите новую версию, как указано выше. =====Файл для загрузки===== * {{ :wiki:plugin:giterlizzi-dokuwiki-plugin-icons-9809e06.zip |Плагин иконок icons}} FortAwesome/Шрифт-Awesome Выпуск 6.7.2 * {{ :wiki:plugin:fontawesome-free-6.7.2-desktop.zip |Fontawesome-free-6.7.2-desktop.zip}} * {{ :wiki:plugin:fontawesome-free-6.7.2-web.zip |Fontawesome-free-6.7.2-web.zip}} * {{ :wiki:plugin:font-awesome-6.7.2.zip |Исходный код (zip)}} * {{ :wiki:plugin:font-awesome-6.7.2.tar.gz |Исходный код (tar.gz)}} * https://github.com/FortAwesome/Font-Awesome/releases/tag/6.7.2 =====Лицензия===== * **Author:** [[giuseppe.diterlizzi@gmail.com|Giuseppe Di Terlizzi]] * **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]]