====== Синтаксис форматирования ======
[[doku>DokuWiki]] поддерживает некоторый простой язык разметки, призванный сделать файлы данных максимально читаемыми. На этой странице приведен весь возможный синтаксис, который вы можете использовать при редактировании страниц. Просто посмотрите исходный код этой страницы, нажав «Редактировать эту страницу». Если вы хотите что-то попробовать, просто воспользуйтесь [[playground:playground|страницу «Испытательная площадка»]]. Доступ к простым элементам разметки можно легко получить с помощью [[doku>toolbar|быстрых кнопок]].
===== Основное форматирование текста =====
DokuWiki поддерживает **жирный шрифт**, //курсив//, __подчёркивание__ и ''моноширинные'' текста. Конечно, вы можете **__//''комбинировать''//__** все эти варианты.
DokuWiki поддерживает **жирный шрифт**, //курсив//, __подчёркивание__ и ''моноширинные'' текста.
Конечно, вы можете **__//''комбинировать''//__** все эти варианты.
Обратите внимание, что маркеры форматирования должны непосредственно окружать текст, поэтому ''%%** жирный **%%'' с пробелами внутри маркеров не будет форматироваться.
Вы можете использовать нижний индекс и надстрочный индекс.
Вы также можете использовать нижний индекс и верхний индекс.
Вы также можете пометить что-либо как удалённым .
Вы также можете пометить что-либо как удалённым .
**Абзацы** создаются из пустых строк. Если вы хотите **принудительно вставить перенос строки** без создания абзаца, можно использовать два обратных слеша, за которыми следует пробел или конец строки.
Это текст с разрывами строк\\ Обратите внимание, что
две обратные косые черты распознаются только в конце строки\\
или после\\ пробел \\без этого происходит следующее.
Это текст с разрывами строк\\ Обратите внимание, что
две обратные косые черты распознаются только в конце строки\\
или после\\ пробелом \\то это происходит и без них.
Использовать принудительные переносы строк следует только в случае настоятельной необходимости.
===== Ссылки =====
DokuWiki поддерживает несколько способов создания ссылок.
==== Внешние ====
Внешние ссылки распознаются автоматически: http://www.google.com или просто www.google.com — Вы также можете задать текст ссылки: [[http://www.google.com|This Ссылка ведёт на google]]. Адреса электронной почты, подобные этому: также распознаются.
DokuWiki поддерживает несколько способов создания ссылок. Внешние ссылки распознаются
автоматически: http://www.google.com или просто www.google.com — вы также можете задать
текст ссылки: [[http://www.google.com|This Ссылка ведёт на google]]. Адреса электронной
почты, подобные этому: также распознаются.
==== Внутренние ====
Внутренние ссылки создаются с помощью квадратных скобок. Вы можете либо просто указать [[de:wiki:pagename]] , либо использовать дополнительный [[de:wiki:pagename|текст ссылки]].
Внутренние ссылки создаются с помощью квадратных скобок. Вы можете либо просто указать
[[de:wiki:pagename ]] , либо использовать дополнительный [[de:wiki:pagename|текст ссылки]].
[[doku>pagename|Названия страниц вики]] автоматически преобразуются в нижний регистр, специальные символы не допускаются.
Вы можете использовать [[some:namespaces]] , добавив двоеточие в название страницы.
Вы можете использовать [[some:namespaces]] , включив двоеточие в название страницы.
Подробнее о пространствах имён см. [[doku>namespaces]] .
Также можно создавать ссылки на конкретный раздел. Просто добавьте название раздела после символа решетки, как это принято в HTML. Это создаст ссылку на [[de:wiki:syntax#internal|этот раздел]].
Эта ссылка ведёт на [[de:wiki:syntax#internal|этот раздел]].
Примечания:
* Ссылки на [[de:wiki:syntax|существующие страницы]] отображаются в стиле, отличном от ссылок [[de:wiki:nonexisting]] .
* По умолчанию DokuWiki не использует [[wp>CamelCase]] для автоматического создания ссылок, но эту функцию можно включить в файле [[doku>config]] . Подсказка: если DokuWiki является ссылкой, значит, эта функция включена.
* При изменении заголовка раздела меняется и его закладка. Поэтому не стоит слишком полагаться на ссылки на разделы.
==== Межвики ====
DokuWiki поддерживает [[doku>Interwiki]] ссылки. Это быстрые ссылки на другие вики-проекты. Например, это ссылка на страницу Википедии о вики-проектах: [[wp>Wiki]] .
DokuWiki поддерживает ссылки [[doku>Interwiki]] . Это быстрые ссылки на другие вики-проекты.
Например, вот ссылка на страницу Википедии, посвящённую вики-проектам: [[wp>Wiki]] .
==== Общие ресурсы Windows ====
Общие ресурсы Windows, такие как [[\\server\share|этот]], также распознаются. Обратите внимание, что они имеют смысл только в однородной группе пользователей, например, в корпоративной [[wp>Intranet]] .
Общие ресурсы Windows, такие как [[\\server\share|этот]], также распознаются.
Примечания:
* По соображениям безопасности прямой просмотр общих ресурсов Windows по умолчанию работает только в Microsoft Internet Explorer (и только в «локальной зоне»).
* Для Mozilla и Firefox эту функцию можно включить с помощью различных обходных решений, упомянутых в [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla базе знаний]]. Однако при попытке открыть общий ресурс Windows по-прежнему будет появляться предупреждение JavaScript. Чтобы удалить это предупреждение (для всех пользователей), добавьте следующую строку в файл ''conf/lang/en/lang.php'' (подробнее см. на [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|разделе «Локализация»]]):
==== Ссылки на изображения ====
Вы также можете использовать изображение для создания ссылки на другую внутреннюю или внешнюю страницу, совместив синтаксис ссылок и [[de:wiki:syntax#images_and_other_files|изображений]] (см. ниже) следующим образом:
[[http://php.net|{{wiki:dokuwiki-128.png}}]]
[[http://php.net|{{wiki:dokuwiki-128.png}}]]
Обратите внимание: в именах ссылок допускается использование только синтаксиса форматирования изображений.
Весь [[de:wiki:syntax#images_and_other_files|]] изображения и [[de:wiki:syntax#links|]] ссылок поддерживается полностью (включая изменение размера изображений, внутренние и внешние изображения, URL-адреса и межвики-ссылки).
===== Сноски =====
Вы можете добавлять сноски ((Это сноска)) с помощью двойных скобок.
Вы можете добавлять сноски ((Это сноска)) с помощью двойных скобок.
===== Разделение на разделы =====
Вы можете использовать до пяти различных уровней заголовков для структурирования вашего контента. Если у вас более трёх заголовков, оглавление формируется автоматически — эту функцию можно отключить, включив строку ''~~NOTOC~~'' в документе.
==== Заголовок 3-го уровня ====
=== Заголовок 4-го уровня ===
== Заголовок 5-го уровня ==
==== Заголовок 3-го уровня ====
=== Заголовок 4-го уровня ===
== Заголовок 5-го уровня ==
Используя четыре или более тире, можно нарисовать горизонтальную линию:
----
===== Медиафайлы =====
Вы можете вставлять внешние и внутренние [[doku>images|изображения, видео и аудиофайлы]] с помощью фигурных скобок. При желании можно указать их размер.
Реальный размер: {{wiki:dokuwiki-128.png }}
Изменить размер до заданной ширины: {{wiki:dokuwiki-128.png?50 }}
Изменить размер до заданной ширины и высоты (если соотношение сторон заданной ширины и высоты не совпадает с соотношением сторон изображения, оно будет обрезано до нового соотношения перед изменением размера): {{wiki:dokuwiki-128.png?200x50}}
Внешнее изображение с измененным размером: {{https://www.php.net/images/php.gif?200x50}}
Реальный размер: {{wiki:dokuwiki-128.png }}
Изменить размер до заданной ширины: {{wiki:dokuwiki-128.png?50 }}
Изменить размер до заданной ширины и высоты: {{wiki:dokuwiki-128.png?200x50}}
Внешнее изображение с измененным размером: {{https://www.php.net/images/php.gif?200x50}}
Используя пробелы слева или справа, вы можете выбрать выравнивание.
{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
Вы также можете явно задать выравнивание с помощью ''?left'', ''?right'' или ''?center'' . Этот параметр имеет приоритет над выравниванием по пробелам, описанным выше, и может сочетаться с указанием размера.
{{wiki:dokuwiki-128.png?100&right}}
{{wiki:dokuwiki-128.png?100&right }}
Конечно, вы также можете добавить заголовок (который в большинстве браузеров отображается в виде всплывающей подсказки).
{{ wiki:dokuwiki-128.png |Это подпись}}
{{ wiki:dokuwiki-128.png |Это подпись}}
Чтобы связать изображение с другой страницей, см. [[de:wiki:syntax#Image Links]] выше.
==== Поддерживаемые форматы медиафайлов ====
DokuWiki может напрямую вставлять следующие форматы медиафайлов.
| Изображение | ''gif'', ''jpg'', ''png'' |
| Видео | ''webm'', ''ogv'', ''mp4''|
| Аудио | ''ogg'', ''mp3'', ''wav'' |
| Flash | ''swf'' |
Если вы укажете имя файла, не соответствующее поддерживаемому формату мультимедиа, оно будет отображаться в виде ссылки.
Добавив ''?linkonly'' вы предоставляете ссылку на медиафайл, не отображая его в тексте
{{wiki:dokuwiki-128.png?linkonly }}
{{wiki:dokuwiki-128.png?linkonly}} Это просто ссылка на изображение.
==== Резервные форматы ====
К сожалению, не все браузеры поддерживают все форматы видео и аудио. Чтобы решить эту проблему, вы можете загрузить файл в разных форматах для максимальной совместимости с браузерами.
Например, рассмотрим это встроенное видео в формате mp4:
{{de:wiki:video.mp4|Забавное видео}}
Когда вы загружаете ''video.webm'' и ''video.ogv'' рядом с указанным файлом ''video.mp4'', DokuWiki автоматически добавит их в качестве альтернатив, чтобы один из этих трех файлов был распознан вашим браузером.
Кроме того, DokuWiki поддерживает изображение «постера», которое будет отображаться до начала воспроизведения видео. Это изображение должно иметь такое же имя файла, как и видео, и быть файлом формата jpg или png. В приведенном выше примере файл ''video.jpg'' .
===== Списки =====
Dokuwiki поддерживает упорядоченные и неупорядоченные списки. Чтобы создать элемент списка, отступите текст на два пробела и используйте тег ''*'' для неупорядоченных списков или ''-'' для нумерованных.
* Это список
* Второй пункт
* Можно использовать разные уровни
* Ещё один пункт
- Тот же список, но нумерованный
- Ещё один пункт
- Для более глубоких уровней просто используйте отступ
- Вот и всё
* This is a list
* The second item
* You may have different levels
* Another item
- The same list but ordered
- Another item
- Just use indention for deeper levels
- That's it
Также ознакомьтесь с [[doku>faq:lists|часто задаваемые вопросы о пунктах списка]].
===== Преобразование текста =====
DokuWiki может преобразовывать определённые заранее заданные символы или строки в изображения, другой текст или HTML.
Преобразование текста в изображение в основном используется для смайликов. А преобразование текста в HTML используется для замены типографических элементов, но его можно настроить так, чтобы использовать и другой HTML-код.
==== Преобразование текста в изображения ====
DokuWiki преобразует широко используемые [[wp>emoticon]] в их графические эквиваленты. Эти [[doku>Smileys]] и другие изображения можно настраивать и дополнять. Ниже приведён обзор смайликов, включённых в DokuWiki:
* 8-) %% 8-) %%
* 8-O %% 8-O %%
* :-( %% :-( %%
* :-) %% :-) %%
* =) %% = ) %%
* :-/ %% :-/ %%
* :-\ %% :-\ %%
* :-? %% :-? %%
* :-D %% :-D %%
* :-P %% :-P %%
* :-O %% :-O %%
* :-X %% :-X %%
* :-| %% :-| %%
* ;-) %% ;-) %%
* ^_^ %% ^_^ %%
* m( %% m( %%
* :?: %% :?: %%
* :!: %% :!: %%
* LOL %% LOL %%
* FIXME %% FIXME %%
* DELETEME %% DELETEME %%
==== Преобразование текста в HTML ====
Типографика: [[de:wiki:dokuwiki]] может преобразовывать простые текстовые символы в типографически корректные сущности. Вот пример распознаваемых символов.
-> <- <->=> <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."
То же самое можно сделать для создания любого вида HTML-кода, для этого достаточно добавить его в [[doku>entities|файл шаблонов]].
Существует три исключения, которые не берутся из этого файла шаблонов: символ умножения (640x480), «одинарные» и «двойные кавычки». Их можно отключить с помощью [[doku>config:typography|параметр конфигурации]].
===== Цитирование =====
Иногда возникает необходимость выделить текст, чтобы показать, что это ответ или комментарий. Для этого можно использовать следующий синтаксис:
I think we should do it
> No we shouldn't
>> Well, I say we should
> Really?
>> Yes!
>>> Then lets do it!
Я думаю, нам стоит это сделать
> Нет, не стоит
>> Ну, я считаю, что стоит
> Правда?
>> Да!
>>> Тогда давайте это сделаем!
===== Таблицы =====
DokuWiki поддерживает простой синтаксис для создания таблиц.
^ Заголовок 1 ^ Заголовок 2 ^ Заголовок 3 ^
| Строка 1 Столбец 1 | Строка 1, столбец 2 | Строка 1, столбец 3 |
| Строка 2, столбец 1 | some colspan (обратите внимание на двойную вертикальную черту) || | Строка 3, столбец 1 | Строка 3, столбец 2 | Строка 3, столбец 3 |
Строки таблицы должны начинаться и заканчиваться символом ''|'' для обычных строк или ''^'' для заголовков.
^ Заголовок 1 ^ Заголовок 2 ^ Заголовок 3 ^
| Строка 1, столбец 1 | Строка 1, столбец 2 | Строка 1, столбец 3 |
| Строка 2, столбец 1 | несколько colspan (обратите внимание на двойную вертикальную черту) ||
| Строка 3, столбец 1 | Строка 3, столбец 2 | Строка 3, столбец 3 |
Чтобы соединить ячейки по горизонтали, просто оставьте следующую ячейку полностью пустой, как показано выше. Убедитесь, что количество разделителей ячеек всегда одинаково!
Также можно использовать вертикальные заголовки таблицы.
| ^ Заголовок 1 ^ Заголовок 2 ^
^ Заголовок 3 | Строка 1 Столбец 2 | Строка 1, столбец 3 |
^ Заголовок 4 | на этот раз без colspan | |
^ Заголовок 5 | Строка 2, столбец 2 | Строка 2, столбец 3 |
Как видите, именно разделитель ячеек перед ячейкой определяет форматирование:
| ^ Заголовок 1 ^ Заголовок 2 ^
^ Заголовок 3 | Строка 1, столбец 2 | Строка 1, столбец 3 |
^ Заголовок 4 | на этот раз без colspan | |
^ Заголовок 5 | Строка 2, столбец 2 | Строка 2, столбец 3 |
Вы можете создавать rowspans (вертикально соединенные ячейки), добавив ''%%:::%%'' в ячейки, расположенные ниже той, с которой они должны соединяться.
^ Заголовок 1 ^ Заголовок 2 ^ Заголовок 3 ^
| Строка 1 Столбец 1 | эта ячейка занимает несколько строк по вертикали |, строка 1, столбец 3 |
| Строка 2, столбец 1 | ::: | Строка 2, столбец 3 |
| Строка 3, столбец 1 | ::: | Строка 2, столбец 3 |
Помимо синтаксиса rowspan эти ячейки не должны содержать ничего другого.
^ Заголовок 1 ^ Заголовок 2 ^ Заголовок 3 ^
| Строка 1, столбец 1 | эта ячейка занимает несколько строк | Строка 1, столбец 3 |
| Строка 2, столбец 1 | ::: | Строка 2, столбец 3 |
| Строка 3, столбец 1 | ::: | Строка 2, столбец 3 |
Вы также можете выровнять содержимое таблицы. Просто добавьте как минимум два пробела на противоположном конце текста: добавьте два пробела слева для выравнивания по правому краю, два пробела справа для выравнивания по левому краю и как минимум по два пробела с обоих концов для выравнивания по центру.
^ Таблица с выравниванием ^^^
| справа| по центру |слева |
|слева | справа| по центру |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
Вот как это выглядит в исходном коде:
^ Таблица с выравниванием ^^^
| справа| по центру |слева |
|слева | справа| по центру |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
Примечание: вертикальное выравнивание не поддерживается.
===== Без форматирования =====
Если вам нужно отобразить текст точно так, как он введен (без какого-либо форматирования), заключите этот фрагмент в теги ''%%%%'' или, что ещё проще, двойными знаками процента ''%%''.
Это текст, содержащий адреса следующего вида: http://www.splitbrain.org и **форматирование**, но с ним ничего не происходит.
То же самое касается %%//__этот__ текст// со смайликом ;-)%%.
Это текст, содержащий адреса следующего вида: http://www.splitbrain.org и **форматирование**, но с ним ничего не происходит.
То же самое касается %%//__этот__ текст// со смайликом ;-)%%.
===== Блоки кода =====
Вы можете включать блоки кода в свои документы, либо отступая их как минимум на два пробела (как в предыдущих примерах), либо используя теги ''%%%%'' or ''%%%%''.
This is text is indented by two spaces.
This is preformatted code all spaces are preserved: like <-this
This is pretty much the same, but you could use it to show that you quoted a file.
Эти блоки были созданы на основе следующего исходного кода:
Этот текст отступает на два пробела.
This is preformatted code all spaces are preserved: like <-this
This is pretty much the same, but you could use it to show that you quoted a file.
==== Подсветка синтаксиса ====
[[wiki:dokuwiki]] может выделять исходный код, что облегчает его чтение. Он использует [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter — поэтому поддерживаются все языки, поддерживаемые GeSHi. Синтаксис использует те же блоки кода и файлов, что и в предыдущем разделе, но на этот раз название языка, синтаксис которого нужно выделить, указывается внутри тега, например: '''' or ''''.
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
The following language strings are currently recognized: //4cs 6502acme 6502kickass 6502tasm 68000devpac abap actionscript3 actionscript ada aimms algol68 apache applescript apt_sources arm asm asp asymptote autoconf autohotkey autoit avisynth awk bascomavr bash basic4gl batch bf biblatex bibtex blitzbasic bnf boo caddcl cadlisp ceylon cfdg cfm chaiscript chapel cil c_loadrunner clojure c_mac cmake cobol coffeescript c cpp cpp-qt cpp-winapi csharp css cuesheet c_winapi dart dcl dcpu16 dcs delphi diff div dos dot d ecmascript eiffel email epc e erlang euphoria ezt f1 falcon fo fortran freebasic freeswitch fsharp gambas gdb genero genie gettext glsl gml gnuplot go groovy gwbasic haskell haxe hicest hq9plus html html4strict html5 icon idl ini inno intercal io ispfpanel java5 java javascript jcl j jquery julia kixtart klonec klonecpp kotlin latex lb ldif lisp llvm locobasic logtalk lolcode lotusformulas lotusscript lscript lsl2 lua m68k magiksf make mapbasic mathematica matlab mercury metapost mirc mk-61 mmix modula2 modula3 mpasm mxml mysql nagios netrexx newlisp nginx nimrod nsis oberon2 objc objeck ocaml-brief ocaml octave oobas oorexx oracle11 oracle8 oxygene oz parasail parigp pascal pcre perl6 perl per pf phix php-brief php pic16 pike pixelbender pli plsql postgresql postscript povray powerbuilder powershell proftpd progress prolog properties providex purebasic pycon pys60 python qbasic qml q racket rails rbs rebol reg rexx robots roff rpmspec rsplus ruby rust sas sass scala scheme scilab scl sdlbasic smalltalk smarty spark sparql sql sshconfig standardml stonescript swift systemverilog tclegg tcl teraterm texgraph text thinbasic tsql twig typoscript unicon upc urbi uscript vala vbnet vb vbscript vedit verilog vhdl vim visualfoxpro visualprolog whitespace whois winbatch wolfram xbasic xml xojo xorg_conf xpp yaml z80 zxbasic//
There are additional [[doku>syntax_highlighting|advanced options]] available for syntax highlighting, such as highlighting lines or adding line numbers.
==== Downloadable Code Blocks ====
When you use the ''%%%%'' or ''%%%%'' syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this:
Если вы не хотите подсветки, но хотите получить файл для скачивания, укажите тире (''-'') в качестве кода языка: ''%%%%''.
===== Агрегация RSS/ATOM-каналов =====
[[de:wiki:dokuwiki]] может интегрировать данные из внешних XML-каналов. Для разбора XML-каналов [[http://simplepie.org/|SimplePie]] используется. Все форматы, поддерживаемые SimplePie, можно использовать и в DokuWiki. Вы можете влиять на отображение с помощью нескольких дополнительных параметров, разделённых пробелами:
^ Параметр ^ Описание ^
| любое число | будет использоваться в качестве максимального количества элементов для отображения, по умолчанию — 8 |
| обратный порядок | отображать последние элементы в ленте первыми |
| author | показывать имена авторов элементов |
| date | показать даты записей |
| description| показать описание записи. Все HTML-теги будут удалены |
| nosort | не сортировать элементы в фиде |
| //n//[dhm] | период обновления, где d=дней, h=часов, m=минут. (например, 12h = 12 часов). |
Период обновления по умолчанию составляет 4 часа. Любое значение менее 10 минут будет рассматриваться как 10 минут. [[wiki:dokuwiki]] , как правило, пытается предоставить кэшированную версию страницы; очевидно, что это нецелесообразно, если страница содержит динамический внешний контент. Этот параметр указывает [[wiki:dokuwiki]] перерисовать страницу, если прошло более //периода обновления// с момента последнего рендеринга страницы.
По умолчанию лента будет отсортирована по дате, с самыми новыми записями в начале. Вы можете отсортировать её по дате, начиная с самых старых записей, с помощью параметра ''reverse'' , либо отобразить ленту в исходном виде с помощью ''nosort''.
**Пример:**
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
===== Управляющие макросы =====
Некоторые синтаксические конструкции влияют на то, как DokuWiki отображает страницу, не создавая при этом никакого вывода самостоятельно. Доступны следующие управляющие макросы:
Макрос^ ^ Описание |
| %%~~NOTOC~~%% | Если этот макрос найден на странице, оглавление не будет создано |
| %%~~NOCACHE~~%% | По умолчанию DokuWiki кэширует весь вывод. Иногда это может быть нежелательно (например, при использовании вышеуказанного синтаксиса %%%%), добавление этого макроса заставит DokuWiki перерисовывать страницу при каждом вызове |
===== Плагины синтаксиса =====
Синтаксис DokuWiki можно расширить с помощью [[doku>plugins|плагины]]. Порядок использования установленных плагинов описан на соответствующих страницах с их описанием. В данной конкретной установке DokuWiki доступны следующие синтаксические плагины:
~~INFO:syntaxplugins~~