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


Синтаксис форматирования

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

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

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

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

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

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

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

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

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

Ссылки

Внешние

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

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

Внутренние

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

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

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

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

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

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

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

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

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

InterWiki

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

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

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

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

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

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

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

Сноски

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

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

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

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

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

Списки

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

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

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

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

      Очень удобно

  1. Тот же список, только нумерованный
  2. Ещё элемент
    1. Чем больше пробелов в начале, тем глубже вложенность
  3. Всё просто
  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

Enclose the name of a key, or a combination of keys, separated by a dash (-), in a key tag, like this:

<key>Key</key> or <key>C-x</key>
  • The text inside the key tag is split at the occurrences of - (dash).
  • Each part is trimmed (surrounding whitespace removed) and known shortcuts or key names are substituted. E.g. C becomes Ctrl, Left becomes &larr; etc.
  • The substitutions are language specific. So, e.g. in German, C becomes Strg and Del becomes Entf. Only English and German are supported at the moment. Feel free to write additional language files and send them in for inclusion.
  • If no substitution was found, the first letter is capitalized and special HTML chars are replaced with entities.
  • The substitution table only has key aliases that begin with a capital letter. So lower letters will not be substituted, only capitalized and, for example, C-c becomes Ctrl-C
  • If you want to express the dash (-) key, use Minus.
  • If you don't want any trimming, alias or language substitution, or capitalization, enclose your key name in single quotes.

Examples:

  • Ctrl+Alt+Del to reboot. (<key>C-A-del</key>)
  • Ctrl+C to copy text to the clipboard. (<key>C-c</key>)
  • Ctrl+X to cut text and put it into the clipboard. (<key>C-x</key>)
  • Ctrl+V to paste text from the clipboard. (<key>C-v</key>)
  • Ctrl+Enter to insert a page break. (<key>C-enter</key>)
  • Ctrl+Shift+ to select from current cursor position to end of a word. (<key>C-S-Right</key>)
  • Ctrl+Shift+ to select from current cursor position to the beginning of a word. (<key>C-S-Left</key>)
  • Ctrl+Page↑ to go one screen page up. (<key>C-PageUp</key>)
  • Ctrl+ (<key>C-Minus</key>)
  • any key to exit. (<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.