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


DokuWiki поддерживает простой язык разметки, который по возможности сохраняет исходный текст как можно более читабельным. Здесь перечислены все доступные синтаксические конструкции, которые можно использовать при редактировании страниц на данном ресурсе. Если хотите поупражняться в использовании разметки, используйте специально предназначенную для этого «песочницу». Большинство элементов разметки также можно добавить с помощью панели инструментов, которая появляется при редактировании над областью изменения текста.

Основные конструкции форматирования

DokuWiki поддерживает выделение текста полужирным шрифтом, курсивом, подчеркнутым, вывод текста моноширинным шрифтом. Все эти конструкции можно объединить:

DokuWiki поддерживает выделение текста **полужирным шрифтом**, //курсивом//, __подчеркнутым__,
вывод текста ''моноширинным шрифтом''. Все эти конструкции можно **__//''объединить''//__**:

Также можно использовать подстрочный и надстрочный индексы и зачёркнутый текст:

Также можно использовать <sub>подстрочный</sub> и <sup>надстрочный</sup> индексы
и <del>зачёркнутый текст</del>

Абзацы отбиваются пустой строкой. Если нужно принудительно вставить перенос строки, не создавая абзац, вставьте два обратных слэша и за ним пробел или переход к новой строке1):

Вот так можно принудительно
перенести текст на новую строку.

Вот так можно принудительно\\
перенести текст на новую строку.

Ссылки

Внешние

Внешние ссылки распознаются автоматически: http://www.ubuntu.ru или просто www.ubuntu.ru. Можно использовать и явный синтаксис, который позволяет указывать текст ссылки: Это ссылка на Ubuntu.ru. Также можно добавлять адреса электронной почты: andi@splitbrain.org:

Внешние ссылки распознаются автоматически: http://www.ubuntu.ru или просто www.ubuntu.ru.
Можно использовать и явный синтаксис, который позволяет указывать текст ссылки: [[http://ubuntu.ru|Это ссылка на Ubuntu.ru]].
Также можно добавлять адреса электронной почты: andi@splitbrain.org.

Внутренние

Внутренние ссылки, как и явные внешние, создаются посредством квадратных скобок. Можно либо просто указать имя страницы syntax, либо добавить текст ссылки. Кроме того, можно ссылаться на отдельные разделы документа и использовать пути до страницы, содержащие пространства имён, разделённые двоеточиями:

Внутренние ссылки, как и явные внешние, создаются посредством квадратных скобок.
Можно либо просто указать имя страницы [[syntax]], либо добавить [[syntax|текст ссылки]].
Кроме того, можно ссылаться на отдельные [[syntax#внутренние|разделы документа]] и
использовать [[wiki:syntax|пути до страницы]], содержащие пространства имён, разделённые двоеточиями.

Имена Wiki-страниц автоматически переводятся в нижний регистр, и пробел заменяется на подчёркивание, спецсимволы использовать нельзя. Вот ещё пару интересных примеров: ссылка на подраздел текущего документа и ссылка с использованием относительных путей:

Вот ещё пару интересных примеров: [[#внутренние|ссылка на подраздел текущего документа]] и
[[.:..:loco:главная|ссылка с использованием относительных путей]].

Кстати, ссылки на существующие страницы отображаются иначе, чем ссылки на несуществующие.

Ссылки на профили пользователей форума

Можно добавлять ссылки на профили пользователей форума, как с текстом, так и без Malamut:

Можно добавлять ссылки на профили пользователей [[http://forum.ubuntu.ru|форума]],
как [[user>Malamut|с текстом]], так и без [[user>Malamut]].

Имя пользователя можно скопировать с его странички на форуме. Кстати, эти ссылки используются в подписи, которую можно добавить к статье с помощью одной из кнопок на панели редактирования.

InterWiki

DokuWiki поддерживает interwiki-ссылки. Это короткие ссылки на другие Wiki. Например, можно добавить ссылку на страницу Википедии о Wiki:

DokuWiki поддерживает [[wpru>interwiki]]-ссылки. Это короткие ссылки на другие Wiki.
Например, можно добавить ссылку на [[wpru>Wiki|страницу Википедии о Wiki]]:

Для ссылок на английские статьи Википедии нужно использовать префикс wp>, для ссылки на русские — wpru>.

Иные специализированные ссылки

Кроме того, в функционал DocuWiki была внедрена и опция стилизованного отображения ссылок на баги LaunchPad. Выглядит такая ссылка следующим образом: 625882.

Выглядит такая ссылка следующим образом: [[lpbug>625882]].

Где lpbag - префикс системы, а цифры после указателя '>' - номер бага.

Картинки-ссылки

Совместив синтаксис ссылки и картинки, можно вставить в текст картинку , которая будет внутренней или внешней ссылкой:

Совместив синтаксис ссылки и [[#картинки и другие файлы|картинки]], можно вставить в текст картинку
[[http://www.dokuwiki.org/ru:dokuwiki|{{wiki:dokuwiki-128.png?20}}]], которая будет внутренней или внешней ссылкой.

Учтите: форматирование картинок — это единственная синтаксическая конструкция, которую можно использовать в тексте ссылки.

Сноски

С помощью двойных скобок можно добавить сноску2):

С помощью двойных скобок можно добавить сноску ((Вот так)).

Разбивка на разделы

Для структурирования текста можно использовать до пяти уровней заголовков. Если в тексте больше трёх заголовков, автоматически создаётся список содержимого. Его можно отключить, вставив в начало документа специальную строку ~~NOTOC~~. Кроме того, четыре и более тире преобразуются в горизонтальную черту:

====== Заголовок 1-го уровня ======
===== Заголовок 2-го уровня =====
==== Заголовок 3-го уровня ====
=== Заголовок 4-го уровня ===
== Заголовок 5-го уровня ==
------

Списки

Dokuwiki поддерживает нумерованные, ненумерованные, с определениями и многоуровневые нумерованные списки. Чтобы создать элемент списка, поставьте в начале строки два пробела и потом * в случае ненумерованного списка, - в случае нумерованного или ~ в случае многоуровневого нумерованного. Для списка с определениями после двух пробелов поставьте ? для определения или : для элемента с описанием.

Кроме того, элементы списков (кроме определений) можно разрывать на абзацы. Для этого у нужного элемента вместо одного специального символа необходимо поставить два, а новый абзац начать с .. после двух пробелов.

  - нумерованный список
  ~ нумерованный список с многоуровневой нумерацией
  * ненумерованный список
  ? определение для списка с определениями
  : описание для списка с определениями

  -- элемент нумерованного списка с несколькими параграфами
  ~~ элемент многоуровневого нумерованного списка с несколькими параграфами
  ** элемент ненумерованного списка с несколькими параграфами
  :: элемент описания списка с определениями с несколькими параграфами
  .. новый параграф для --, ~~, **, или ::
  • Это список
    • Второй элемент списка
      • Можно сделать вложенный список
    • Ещё один элемент, теперь разбитый на два параграфа

      Очень удобно

  1. Тот же список, только нумерованный
  2. Ещё элемент
    1. Чем больше пробелов в начале, тем глубже вложенность
  3. Всё просто
~ А вот это список с многоуровневой нумерацией
~ Мало чем отличается от нумерованного
  ~ Кроме нумерации подсписков
~ Иногда полезно
Ну и напоследок
Список с определениями
  • Бывает, нужны и такие
  • Кстати, разные типы списков можно друг в друга вкладывать
Можно поэкспериментировать

Различных вариантов очень много

Можно очень красиво структурировать материал

  * Это список
    * Второй элемент списка
      * Можно сделать вложенный список
    ** Ещё один элемент, теперь разбитый на два параграфа
    .. Очень удобно

  - Тот же список, только нумерованный
  - Ещё элемент
    - Чем больше пробелов в начале, тем глубже вложенность
  - Всё просто

  ~ А вот это список с многоуровневой нумерацией
  ~ Мало чем отличается от нумерованного
    ~ Кроме нумерации подсписков
  ~ Иногда полезно

  ? Ну и напоследок
  : Список с определениями
    * Бывает, нужны и такие
    * Кстати, разные типы списков можно друг в друга вкладывать
  ? Можно поэкспериментировать
  :: Различных вариантов очень много
  .. Можно очень красиво структурировать материал

Картинки и другие файлы

С помощью фигурных скобок можно вставлять в текст внешние и внутренние картинки.

Для загрузки файла на вики в режиме редактирования статьи одна из кнопок над формой редактирования вызывает менеджер закачки файлов.

По желанию можно указать их размер.

Полный размер:

Отмасштабированная до заданной ширины:

Отмасштабированная до заданных размеров:

Отмасштабированная внешняя картинка:

Полный размер:                            {{wiki:dokuwiki-128.png}}
Отмасштабированная до заданной ширины:    {{wiki:dokuwiki-128.png?50}}
Отмасштабированная до заданных размеров:  {{wiki:dokuwiki-128.png?200x50}}
Отмасштабированная внешняя картинка:      {{http://de3.php.net/images/php.gif?200x50}}

Поставив слева или справа пробел, можно задать выравнивание картинки:

Первая строка кода (см. ниже) Вторая строка кода (см. ниже) Третья строка кода (см. ниже)

{{wiki:dokuwiki-128.png |Первая строка кода (см. ниже)}}
{{ wiki:dokuwiki-128.png|Вторая строка кода (см.ниже)}}
{{ wiki:dokuwiki-128.png |Третья строка кода (см.ниже)}}

И, конечно, картинке можно задать название (в большинстве браузеров оно отображается в виде всплывающей подсказки).

Название картинки

{{ wiki:dokuwiki-128.png |Название картинки}}

Если задать имя файла (внутреннее или внешнее), которое не является картинкой (gif, jpeg, png), оно будет отображаться в виде ссылки.

Узнать, как вставить картинку со ссылкой, можно в разделе выше.

Смайлики

DokuWiki переделывает наиболее употребляемые смайлики в их графические эквиваленты. Вот список доступных смайлов:

  • FIXME FIXME
  • DELETEME DELETEME
  • 8-) 8-)
  • 8-O 8-O
  • :-( :-(
  • :-) :-)
  • =) =)
  • :-/ :-/
  • :-\ :-\
  • :-? :-?
  • :-D :-D
  • :-P :-P
  • :-O :-O
  • :-X :-X
  • :-| :-|
  • ;-) ;-)
  • ^_^ ^_^
  • :?: :?:
  • :!: :!:
  • LOL LOL

Типографские символы

DokuWiki может переделывать символы, набранные простым текстом, в их типографски корректные эквиваленты. Распознаются следующие символы:

→ ← ↔ ⇒ ⇐ ⇔ » « – — '640×480' © ™ ®
«Владимир Владимирович™ — это наше всё © не я»

-> <- <-> => <= <=> >> << -- --- '640x480' (c) (tm) (r)
"Владимир Владимирович(tm) --- это наше всё (c) не я"

Таблицы

DokuWiki поддерживает упрощённый синтаксис создания таблиц.

Заголовок 1 Заголовок 2 Заголовок 3
Ряд 1 Колонка 1 Ряд 1 Колонка 2 Ряд 1 Колонка 3
Ряд 2 Колонка 1 Объединение колонок (обратите внимание на двойную вертикальную черту)
Ряд 3 Колонка 1 Ряд 2 Колонка 2 Ряд 2 Колонка 3

Нормальные ряды должны начинаться и заканчиваться символом |, а заголовки — ^.

^ Заголовок 1      ^ Заголовок 2         ^ Заголовок 3            ^
| Ряд 1 Колонка 1  | Ряд 1 Колонка 2     | Ряд 1 Колонка 3        |
| Ряд 2 Колонка 1  | Объединение колонок (обратите внимание на двойную вертикальную черту)  ||
| Ряд 3 Колонка 1  | Ряд 2 Колонка 2     | Ряд 2 Колонка 3        |

Чтобы объединить две соседние клетки в ряду, просто оставьте соседнюю клетку полностью пустой, как показано выше. Следите, чтобы количество разделителей клеток было одинаковым!

Вертикальные заголовки тоже можно сделать.

Заголовок 1 Заголовок 2
Заголовок 3 Ряд 1 Колонка 2 Ряд 1 Колонка 3
Заголовок 4 Объединения нет
Заголовок 5 Ряд 2 Колонка 2 Ряд 2 Колонка 3

Как легко увидеть, разделитель стоящий перед клеткой определяет форматирование:

|              ^ Заголовок 1       ^ Заголовок 2      ^
^ Заголовок 3  | Ряд 1 Колонка 2   | Ряд 1 Колонка 3  |
^ Заголовок 4  | Объединения нет   |                  |
^ Заголовок 5  | Ряд 2 Колонка 2   | Ряд 2 Колонка 3  |

Примечание: Вертикальное объединение (rowspan) не поддерживается.

Текст клетки таблицы можно выравнивать. Просто добавьте минимум два пробела с противоположной стороны: слева — если надо выравнять вправо, справа – если надо выравнять влево, и по два с каждой стороны — если по центру.

Таблица с выравниванием
вправо по центру влево
влево вправо по центру
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx
^           Таблица с выравниванием        ^^^
|        вправо|   по центру  |влево         |
|влево         |        вправо|   по центру  |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |

Неформатируемые блоки

Неформатируемые блоки можно вставлять в документ, либо начиная каждую строчку блока с двух или более пробелов (как это делалось в некоторых предыдущих примерах), либо используя тэги <code> или <file>.

Это неформатированный текст, в котором сохранены все пробелы: вот             <- так.
В принципе то же самое, но этим выделением можно показать, 
что цитируется содержимое файла.

Чтобы парсер полностью проигнорировал некий текст (т.е. не форматировал его), либо заключите его в тэги nowiki, либо ещё проще — в двойные знаки процента %%.

Это просто текст, в котором есть адрес http://www.splitbrain.org и **форматирование** — но ничего не происходит.

Это просто текст, в котором есть адрес %%http://www.splitbrain.org%% 
и %%**форматирование**%% --- но ничего не происходит.

Чтобы увидеть, как используются эти блоки, смотрите код страницы.

Подсветка синтаксиса

DokuWiki может подсвечивать программный код, чтобы его было проще читать. Для этого используется библиотека GeSHi — соответственно подсвечиваются все языки, поддерживаемые GeSHi. Синтаксис такой же, как и в блоке code в предыдущем разделе, но на этот раз внутри тэга добавляется название языка. Например <code java>.

/** 
 * 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.
    }
}

На данный момент распознаются следующие языки: actionscript-french, actionscript, ada, apache, applescript, asm, asp, autoit, bash, blitzbasic, bnf, caddcl, cadlisp, cfdg, cfm, c_mac, c, cpp, csharp, css, delphi, diff, div, dos, d, eiffel, fortran, freebasic, gml, groovy, html, idl, ini, inno, io, java5, java, javascript, latex, lisp, lua, matlab, mirc, mpasm, mysql, nsis, objc, ocaml-brief, ocaml, oobas, oracle8, pascal, perl, php-brief, php, python, qbasic, reg, robots, ruby, sas, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, vbnet, vb, vhdl, visualfoxpro, winbatch, xml

Вставка HTML и PHP

Чистый HTML- или PHP-код можно вставлять в документ с помощью тэгов html и php:

<html>
Тут вставлен <font color="red" size="+1">HTML-код</font>
</html>

Тут вставлен <font color="red" size="+1">HTML-код</font>

<php>
echo 'Логотип, сгенерированный PHP:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="Логотип PHP!" />';
</php>

echo 'Логотип, сгенерированный PHP:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="Логотип PHP!" />';

Примечание: по умолчанию вставка HTML и PHP запрещена. Когда она запрещена, код не исполняется, а выводится в исходном виде.

Управляющие макросы

Некоторый синтаксис влияет на то, как DokuWiki обрабатывает страницы без создания каких либо результатов для себя. Доступны следующие макросы:

Макрос Описание
~~NOTOC~~ Если этот макрос присутствует на странице, оглавление не будет создано
~~NOCACHE~~ DokuWiki помещает все выводимое в кэш по умолчанию. Иногда это нежелательно (например когда выше был использован синаксис <php>), добавление этого макроса заставит DokuWiki обрабатывать страницу при каждом вызове

Синтаксические плагины

Синтаксис DokuWiki может быть расширен за счет плагинов. Как устанавливать дополнения и использовать их описывается на их страницах описания. Следующие дополнения синтаксиса доступны в этой инсталляции DokuWiki:

Cинтактический плагин Styler

Синтаксис использования, примеры:

Синтаксический плагин Note

<note> Обратите внимание. Это нужно запомнить! </note>
<note important> Внимание! Вы можете потерять рассудок. </note>
<note tip> Подсказки находятся на изображениях. </note>
<note warning> Остерегайтесь собаки, когда открываете дверь! </note>
Обратите внимание. Это нужно запомнить!
Внимание! Вы можете потерять рассудок.
Подсказки находятся на изображениях.
Остерегайтесь собаки, когда открываете дверь!

Вы можете использовать важные примечания, предупреждения и подсказки. Довольно легко добавить новые типы примечаний, если Вы знаете немного PHP и CSS.

Cинтаксический плагин Keyboard

Заключите название клавиши или комбинацию клавиш, разделённых дефисом (-), в тег key, как здесь:

<key>Клавиша</key> или <key>C-x</key>
  • Текст внутри тега key делится на позициях - (дефиса).
  • Каждая часть обрезается (удаляются окружающие пробелы), а известные сокращения клавиш заменяются на полные варианты. Например, C становится Ctrl, Left становится &larr;, и т.п.
  • Замена сокращений зависит от языка. Например, в немецком, C становится Strg, а Del становится Entf. На данный момент поддерживаются только английсткий и немецний. Вы можете помочь, написав дополнительные заголовочные файлы и отправив их для включения.
  • Если замены не найдено, первая буква становится заглавной, а специальные HTML-символы заменяются сущностями.
  • Заменяются только клавиши, начинающиеся с заглавной буквы. Строчные буквы не заменяются. Например, C-c становится Ctrl-C
  • Если вы хотите выразить дефисную (-) клавишу, используйте Minus.
  • Если вы не хотите обрезки, замены, языковой поддержки или перевода букв в верхний регистр, заключите название клавиши в одинарные кавычки.

Примеры:

  • Используйте Ctrl+Alt+Del для перезагрузки. (<key>C-A-del</key>)
  • Используйте Ctrl+C для копированя текста в буфер обмена. (<key>C-c</key>)
  • Используйте Ctrl+X для удаления текста и помещения его в буфер обмена. (<key>C-x</key>)
  • Используйте Ctrl+V для вставки теста из буфера обмена. (<key>C-v</key>)
  • Используйте Ctrl+Enter для вставки разрыва страницы. (<key>C-enter</key>)
  • Используйте Ctrl+Shift+ для выделения от текущей позиции курсора до конца слова. (<key>C-S-Right</key>)
  • Используйте Ctrl+Shift+ для выделения от текущей позиции курсора до начала слова. (<key>C-S-Left</key>)
  • Используйте Ctrl+Page↑ для прокрутки на одну страницу вверх. (<key>C-PageUp</key>)
  • Используйте Ctrl+ для увеличения масштаба. (<key>C-Minus</key>)
  • Используйте any key для выхода. (<key>'any key'</key>)

Синтаксический плагин Columns

The syntax is mostly identical to the original version, except that the new column keyword has to be specified within angle brackets3):

<columns 100% 50% - ->

information in column 1 (50% width)

<newcolumn>

information in column 2

<newcolumn>

information in column 3

</columns>

By default the text in columns is justified. This can be changed by adding asterisks on either side of the column width specification. The asterisk indicates non-justified side of the text block, so to achieve left alignment add the asterisk on the right side.

<columns 100% 25% 25%* *-* *->

Justified text

<newcolumn>

Aligned on the left side

<newcolumn>

Center-aligned

<newcolumn>

Aligned on the right side

</columns>

Все синтаксические плагины

См.также

1)
Принудительные переносы следует использовать только в случае крайней необходимости!
2)
Вот так
3)
The syntax can be made fully compatible with the original version of plugin by un-checking «Wrap the new column tag» check box in the Configuration Settings.