======Typography для «ДокуВики»====== {{:wiki:plugin:dwplugin.png?70 |}} Обширные возможности стилизации текста с помощью таких CSS-правил, как тип шрифта, размер, толщина и цвет текста. * **Релиз:** 2020-07-31. * **Репозиторий:**https://github.com/ssahara/dw-plugin-typography * **Совместимость с «Докувики»:** 2024-02-06 "Kaos" =====Совместимость===== * 2024-02-06 "Kaos" да * 2023-04-04 "Jack Jackrum" да * 2022-07-31 "Igor" да * 2020-07-29 "Hogfather" да =====Монтаж===== Используйте менеджер плагинов для установки или… - скачать zip-файл - распаковать его в/lib/plugins/ - войдите как администратор и измените плагин в менеджере конфигурации =====Примеры/Использование===== Меню плагина {{:wiki:plugin:plugin_typography_2.png?|}} Возможности плагина {{:wiki:plugin:plugin_typography_1.png?|}} ===== Синтаксис ===== Arial\\ Times New Roman\\ Impact\\ Brush Script MS\\ Georgia\\ Tangerin\\ Шрифт Calligraph\\ Шрифт DS Yermak_D\\ Шрифт CyrillicGoth\\ Dokuwiki's Main Configuration File Tangerine 48px\\ \\ There is nothing either good or bad,\\ but thinking makes it so. \\ //-- William Shakespeare, “Hamlet”, Act 2 scene 2// Arial\\ Times New Roman\\ Impact\\ Brush Script MS\\ Georgia\\ Tangerin\\ Шрифт Calligraph\\ Шрифт DS Yermak_D\\ Шрифт CyrillicGoth\\ Dokuwiki's Main Configuration File Tangerine 48px\\ \\ There is nothing either good or bad,\\ but thinking makes it so. \\ //-- William Shakespeare, “Hamlet”, Act 2 scene 2// ===== Функции ===== Плагин Typography расширяет разметку «ДокуВики» за счет возможностей набора текста. Парный тег разметки включает в себя в качестве параметров CSS-правила, такие как тип шрифта, размер, толщина и цвет текста. Аналогично CSS-синтаксису параметры состоят из пар "свойство:значение", отделяемых друг от друга точкой с запятой (;), однако последняя в списке может быть опущена. Между тегом и его параметрами ставится один пробел, после точки с запятой также можно в эстетических целях добавлять пробел. Вместо полного имени свойства можно использовать сокращённое. Значения поддерживают любые CSS-единицы, включая словарные (px, em, %, x-small и пр.) Некоторые сокращения сами доступны как парные теги, например, %% (тип шрифта), (размер), (цвет), (цвет фона), (толщина).%% В качестве разделителя можно использовать как двоеточие, так и пробел. За счёт полного совпадения функционала и синтаксиса плагин Typography свободно, без правок статей может заменить плагины FontFamily, FontSize2 и FontColor. ^ Короткое имя ^ CSS-cвойство ^ Описание ^ | ''fc'' | color | цвет шрифта | | ''bg'' | background-color | цвет фона шрифта | | ''fs'' | font-size | размер шрифта | | ''fw'' | font-weight | толщина шрифта (толстые или тонкие символы в тексте) | | ''fv'' | font-variant | капитель (уменьшенные прописные буквы) | | ''ff'' | font-family | семейство шрифтов (если содержит пробелы и символы, отличные от ASCII - должно быть заключено в одинарные кавычки) | | ''lh'' | line-height | пространство между строками (интерлиньяж) | | ''ls'' | letter-spacing | пространство между символами (апрош или интерлеттраж) | | ''ws'' | word-spacing | пространство между словами (спейс) | | ''sp'' | white-space | указывает, как обрабатывается пробел (сохранить или свернуть) | | ''va'' | vertical-align | вертикальное выравнивание | | - | text-transform | режим заглавных букв в тексте (заглавные, прописные или строчные)| | - | text-shadow | тень у текста | | ''wf'' | (web-font) | класс веб-шрифта (с префиксом "wf-") | Иногда встроенные стили необходимы, когда вы создаете страницу вручную. Однако вам следует по возможности избегать их для «семантической разметки», улучшения ремонтопригодности и возможности повторного использования. Плагин [[wiki:plugin:wrap]] предоставляет наиболее мощный и гибкий метод для определения атрибута класса. ==== Использование короткого синтаксиса с меню панели инструментов ==== Плагин Typography предоставляет синтаксис короткого имени (или отдельного свойства), который совместим с [[plugin:fontfamily]], [[plugin:fontcolor]] и [[plugin:fontsize2]]. Если вы включили эти три плагина, короткий синтаксис обрабатывается соответствующими плагинами, а не этим плагином. Этот короткий синтаксис доступен через значки панели инструментов: {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/images/fontfamily/picker.png}} {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/images/fontcolor/picker.png}} {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/images/fontsize/picker.png}}. **Пример одного параметра:** Large, Very large, Huge, and smaller size text {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/example/typography-example1.png|Example 1}} **Пример с несколькими параметрами:** Bold serif, Small-caps text {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/example/typography-example2.png|Example 2}} **Синтаксис вложенности:** There is nothing either good or bad, \\ but thinking makes it so. \\ //-- William Shakespeare, “Hamlet”, Act 2 scene 2// {{https://raw.githubusercontent.com/ssahara/dw-plugin-typography/master/example/typography-example3.png|Example 3}} **Использование веб-шрифта** Для [[https://developers.google.com/fonts/docs/getting_started|начала работы с Google Fonts API]], вы можете добавить ссылку на таблицу стилей для запроса желаемого веб-шрифта(ов) в файле [[template:dokuwiki#supported_include_hooks|conf/meta.html]], например: Затем вы можете использовать имя шрифта (например, Tangerine) в значении font-family: Making the Web Beautiful! Making the Web Beautiful! Tangerine 48px Making the Web Beautiful! ---- ===== Поддержка рендерера ===== Начиная с выпуска 2014-10-13 этот плагин также поддерживает экспорт в текстовый формат открытого документа [[plugin:odt|ODT]]. Слева вы видите снимок экрана, сделанный с тестовой страницы типографики, открытой в браузере, с правой стороны вы видите страницу, экспортированную в ODT: {{https://raw.github.com/ssahara/dw-plugin-typography/master/example/TypographyXHTMLRendering.png?300|рендеринг XHTML}} {{ https://raw.github.com/ssahara/dw-plugin-typography/master/example/TypographyODTRendering.png?300|рендеринг ODT}} Как видите, в настоящее время существуют некоторые ограничения на экспорт ODT: * изменение размера текста в настоящее время не поддерживается Изменение размера текста поддерживается с выпуска 2015-04-02. * после закрытия тега типографики высотой строки начинается новый абзац. ODT поддерживает только установку высоты строки для каждого абзаца. Средство визуализации XHTML остается в той же строке после закрытия тега. * межсловный интервал не поддерживается форматом ODT * параметры пробела в настоящее время не поддерживаются Примечание. Для функции экспорта ODT плагина типографики требуется PHP 5 >= 5.3.0. ---- =====Правки плагина===== Добавлена регистрация обработчика события fontname /* Добавлена регистрация обработчика события fontname*/ if (plugin_isdisabled('fontname')) { $controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'fontNameToolbar', array()); } Раскоментированы семейства шрифтов sans-serif и cursive и добавлены fantasy и monospace /*Раскоментированы семейства шрифтов sans-serif и cursive*/ 'sans-serif' => 'sans-serif', 'cursive' => 'cursive', /*Добавлены семейства шрифтов fantasy и monospace*/ 'fantasy' => 'fantasy', 'monospace' => 'monospace', {{:wiki:plugin:plugin_typography_5.png?|}} Добавлена кнопка FontName (примеры шрифтов) на панель инструментов. /** * Adds FontName toolbar button * Добавляет кнопку FontName на панель инструментов. * @see https://www.dokuwiki.org/plugin: */ public function fontNameToolbar(Doku_Event $event, $param) { $options = array( 'Arial' => 'Arial', 'Calligraph' => 'Calligraph', 'DS Yermak_D' => 'DS Yermak_D', 'CyrillicGoth' => 'CyrillicGoth', 'Times New Roman' => 'TimesNewRoman', 'Impact' => 'Impact', 'Brush Script MS' => 'BrushScriptMS', 'Georgia' => 'Georgia', 'Tangerine' => 'Tangerine', 'Tangerine 48px' => 'Tangerine; fs:48px', 'Multiple options' => ': Georgia; MS Serif; serif; fs:36px; lh:1.1', 'Nesting syntax' => ': Georgia; MS Serif; serif>There is nothing either good or bad, but thinking makes it so. //-- William Shakespeare, “Hamlet”, Act 2 scene 2// 'picker', 'title' => $this->getLang('fn_picker'), 'icon' => DOKU_REL.'lib/plugins/typography/images/fontname/picker.png', 'list' => array() ); foreach ($options as $familyName => $familyValue) { $button['list'][] = array( 'type' => 'format', 'title' => $this->getLang('fn_'.$familyName), 'sample' => $this->getLang('fn_'.$familyName.'_sample'), 'icon' => DOKU_REL.'lib/plugins/typography/images/fontname/'.$familyName.'.png', 'open' => '', 'close' => '', ); } $event->data[] = $button; } {{:wiki:plugin:plugin_typography_4.png?|}} ====файл fontcolor.php==== Удалено условие для корректного отображения цветов текста //if ($isSameHost && $isColorSet) { // } * * provide fontcolor plugin syntax compatibility * @see also https://www.dokuwiki.org/plugin:fontcolor */ require_once(dirname(__FILE__).'/base.php'); class syntax_plugin_typography_fontcolor extends syntax_plugin_typography_base { /** * Connect pattern to lexer */ public function preConnect() { // drop 'syntax_' from class name $this->mode = substr(get_class($this), 7); // syntax pattern $this->pattern[1] = '(?=.*?)'; $this->pattern[4] = ''; } public function connectTo($mode) { if (plugin_isdisabled('fontcolor')) { $this->Lexer->addEntryPattern($this->pattern[1], $mode, $this->mode); } } public function postConnect() { if (plugin_isdisabled('fontcolor')) { $this->Lexer->addExitPattern($this->pattern[4], $this->mode); } } } {{:wiki:plugin:plugin_typography_3.png?|}} Заменины и добавлены новые иконки =====Обновление===== Для обновления удалите исходную папку lib/plugins/typography и установите новую версию, как указано выше. =====Файл для загрузки===== {{ :wiki:plugin:typography.zip |typography.zip}} =====Лицензия===== * **Author:** [[sahara.satoshi@gmail.com| Pawel Piekarski, Satoshi Sahara ]] * **Edit:** [[polskiyvn@gmail.com| VladPolskiy ]] * **License:** [[http://www.opensource.org/licenses/gpl-license.php|GNU GPL v2]] [[https://www.dokuwiki.org/ru:plugin:typography|Ссылка на оригинальную статью]]