Это старая версия документа!
Содержание
Typography для «ДокуВики»
Обширные возможности стилизации текста с помощью таких 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-файл
- распаковать его в<dokuwiki>/lib/plugins/
- войдите как администратор и измените плагин в менеджере конфигурации
Примеры/Использование
Синтаксис
<ff Arial>Arial</ff>\\ <ff TimesNewRoman>Times New Roman</ff>\\ <ff Impact>Impact</ff>\\ <ff BrushScriptMS>Brush Script MS</ff>\\ <ff Georgia>Georgia</ff>\\ <ff Tangerine; fs:30px>Tangerine</ff>\\ <ff Tangerine; fs:48px>Making the Web Beautiful!</ff> <ff Calligraph; fs:30px>Шрифт Calligraph</ff>\\ <ff DS Yermak_D; fs:20px>Шрифт DS Yermak_D</ff>\\ <ff CyrillicGoth; fs:20px>Шрифт CyrillicGoth</ff>\\ <ff Tangerine; fs:48px>Dokuwiki's Main Configuration File Tangerine 48px</ff>\\ \\ <ff : Georgia; MS Serif; serif><fs:36px; lh:1.1>There is nothing either good or bad,\\ but thinking makes it so. </fs>\\ <fs:smaller;>//-- William Shakespeare, “Hamlet”, Act 2 scene 2//</fs></ff>
Arial
Times New Roman
Impact
Brush Script MS
Georgia
Tangerine
Шрифт 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 и пр.)
Некоторые сокращения сами доступны как парные теги, например, <ff> (тип шрифта), <fs> (размер), <fc> (цвет), <bg> (цвет фона), <fw> (толщина). В качестве разделителя можно использовать как двоеточие, так и пробел. За счёт полного совпадения функционала и синтаксиса плагин 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-») |
Иногда встроенные стили необходимы, когда вы создаете страницу вручную. Однако вам следует по возможности избегать их для «семантической разметки», улучшения ремонтопригодности и возможности повторного использования. Плагин wrap предоставляет наиболее мощный и гибкий метод для определения атрибута класса.
Использование короткого синтаксиса с меню панели инструментов
Плагин Typography предоставляет синтаксис короткого имени (или отдельного свойства), который совместим с fontfamily, fontcolor и fontsize2. Если вы включили эти три плагина, короткий синтаксис обрабатывается соответствующими плагинами, а не этим плагином. Этот короткий синтаксис доступен через значки панели инструментов:
.
Пример одного параметра:
<typo font-size:large;>Large</typo>, <typo fs:x-large>Very large</typo>, <fs:xx-large>Huge</fs>, and <fs smaller>smaller</fs> size text
Пример с несколькими параметрами:
<typo fs:larger; fw:bold; ff:serif>Bold serif</typo>, <fs:large; fv:small-caps>Small-caps</fs> text
Синтаксис вложенности:
<ff:'Georgia', 'MS Serif', serif><fs:36px; lh:1.1> There is nothing either good or bad, \\ but thinking makes it so. </fs>\\ <fs:smaller;>//-- William Shakespeare, “Hamlet”, Act 2 scene 2//</fs></ff>
Использование веб-шрифта
Для начала работы с Google Fonts API, вы можете добавить ссылку на таблицу стилей для запроса желаемого веб-шрифта(ов) в файле conf/meta.html, например:
- conf/meta.html
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine"> <style> .wf-tangerine { font-family: Tangerine, serif; } </style>
Затем вы можете использовать имя шрифта (например, Tangerine) в значении font-family:
<ff Tangerine; fs:48px>Making the Web Beautiful!</ff> <wf:tangerine; fs:48px>Making the Web Beautiful!</wf>
Поддержка рендерера
Начиная с выпуска 2014-10-13 этот плагин также поддерживает экспорт в текстовый формат открытого документа ODT. Слева вы видите снимок экрана, сделанный с тестовой страницы типографики, открытой в браузере, с правой стороны вы видите страницу, экспортированную в ODT:
Как видите, в настоящее время существуют некоторые ограничения на экспорт ODT:
изменение размера текста в настоящее время не поддерживаетсяИзменение размера текста поддерживается с выпуска 2015-04-02.- после закрытия тега типографики высотой строки начинается новый абзац. ODT поддерживает только установку высоты строки для каждого абзаца. Средство визуализации XHTML остается в той же строке после закрытия тега.
- межсловный интервал не поддерживается форматом ODT
- параметры пробела в настоящее время не поддерживаются
Примечание. Для функции экспорта ODT плагина типографики требуется PHP 5 >= 5.3.0.
Правки плагина
Добавлена регистрация обработчика события fontname
- action.php
- /* Добавлена регистрация обработчика события fontname*/
- if (plugin_isdisabled('fontname')) {
- }
Раскоментированы семейства шрифтов sans-serif и cursive и добавлены fantasy и monospace
- action.php
- /*Раскоментированы семейства шрифтов sans-serif и cursive*/
- 'sans-serif' => 'sans-serif',
- 'cursive' => 'cursive',
- /*Добавлены семейства шрифтов fantasy и monospace*/
- 'fantasy' => 'fantasy',
- 'monospace' => 'monospace',
Добавлена кнопка FontName (примеры шрифтов) на панель инструментов.
- action.php
- /**
- * Adds FontName toolbar button
- * Добавляет кнопку FontName на панель инструментов.
- * @see https://www.dokuwiki.org/plugin:
- */
- public function fontNameToolbar(Doku_Event $event, $param)
- {
- '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><fs:36px; lh:1.1>There is nothing either good or bad, but thinking makes it so. </fs><fs:smaller;>//-- William Shakespeare, “Hamlet”, Act 2 scene 2//</fs',
- );
- 'type' => 'picker',
- 'title' => $this->getLang('fn_picker'),
- 'icon' => DOKU_REL.'lib/plugins/typography/images/fontname/picker.png',
- );
- foreach ($options as $familyName => $familyValue) {
- 'type' => 'format',
- 'title' => $this->getLang('fn_'.$familyName),
- 'sample' => $this->getLang('fn_'.$familyName.'_sample'),
- 'icon' => DOKU_REL.'lib/plugins/typography/images/fontname/'.$familyName.'.png',
- 'open' => '<ff '.$familyValue.'>',
- 'close' => '</ff>',
- );
- }
- $event->data[] = $button;
- }
файл fontcolor.php
Удалено условие для корректного отображения цветов текста
//if ($isSameHost && $isColorSet) { // }
- fontcolor.php
- <?php
- /**
- * DokuWiki Plugin Typography; Syntax typography fontcolor
- *
- * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author Satoshi Sahara <sahara.satoshi@gmail.com>
- *
- * provide fontcolor plugin syntax compatibility
- * @see also https://www.dokuwiki.org/plugin:fontcolor
- */
- class syntax_plugin_typography_fontcolor extends syntax_plugin_typography_base
- {
- /**
- * Connect pattern to lexer
- */
- public function preConnect()
- {
- // drop 'syntax_' from class name
- // syntax pattern
- $this->pattern[1] = '<fc\b.*?>(?=.*?</fc>)';
- $this->pattern[4] = '</fc>';
- }
- 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);
- }
- }
- }
Обновление
Для обновления удалите исходную папку lib/plugins/typography и установите новую версию, как указано выше.
Файл для загрузки
Лицензия
- Author: Pawel Piekarski, Satoshi Sahara
- Edit: VladPolskiy
- License: GNU GPL v2