Инструменты пользователя

Инструменты сайта


wiki:plugin:icons

Это старая версия документа!


Icons для «ДокуВики»

Предоставляет визуальный интерфейс вставки иконок Font-Awesome, Glyphicons, Material Design Icons, Typicons, Font-Linux и RPG-Awesome. Этот плагин добавляет дополнительную кнопку в редактор страниц. С помощью этой кнопки можно выбирать иконки в визуальном интерфейсе.

Этот плагин был разработан Ди Терлицци.

Совместимость

  • 2024-02-06 «Kaos» неизвестно
  • 2023-04-04 «Jack Jackrum» да
  • 2022-07-31 «Igor» да
  • 2020-07-29 «Hogfather» да

Монтаж

Используйте менеджер плагинов для установки или…

  1. скачать zip-файл
  2. распаковать его в <dokuwiki>/lib/plugins/
  3. войдите как администратор и измените плагин в менеджере конфигурации

:!: Дополнительные внешние требования: Для этого плагина требуются следующие дополнительные компоненты, которые необходимо установить отдельно:

Примеры/Использование

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

Простое использование:

{{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>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

Всплывающий помощник

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

ПРИМЕЧАНИЕ для пакета значков флагов: по умолчанию используются флаги из плагина перевода присутствующего в вашей установке 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, поэтому и возникает эта ошибка.

безопасное решение:

  1. сделайте резервную копию popup.php
  2. скопируйте скрипт, который находится внутри popup.php (скрипт для справки находится внизу этого комментария)
  3. создайте файл popup_script.js в том же каталоге и вставьте в него этот скопированный скрипт
  4. удалите этот скрипт из popup.php.
  5. на место удаленного скрипта вставте скрипт следующего вида <script src=«/lib/plugins/icons/exe/popup_script.js» defer=«defer»></script>
  6. и сохраните.

примечание: браузер игнорирует, defer если <script> не имеет src директивы. Вот о чем эта суета. Скрипт для вставки в popup.php:

<script src="/lib/plugins/icons/exe/popup_script.js" defer="defer"></script>

перезагрузите страницу, вызовите всплывающее меню, теперь все работает.

Скрипт для справки:

popup_script.js
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();
        }
 
      });
 
    });

Ссылка на решение проблеммы на форуме wiki

Альтернативный способ

Обновление

Для обновления удалите исходную папку lib/plugins/icons и установите новую версию, как указано выше.

Файл для загрузки

Лицензия

Только авторизованные участники могут оставлять комментарии.
wiki/plugin/icons.1736203098.txt.gz · Последнее изменение: 2025/01/07 01:38 — vladpolskiy