Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
ru:wiki:syntax [2024-09-02 13:02] – removed - external edit (Unknown date) 127.0.0.1ru:wiki:syntax [2024-09-02 13:02] (текущий) – ↷ Page moved from wiki:ru:syntax to ru:wiki:syntax Anatoly Belaychuk
Строка 1: Строка 1:
 +====== Язык форматирования Dokuwiki ======
  
 +DokuWiki поддерживает язык разметки, который делает текст максимально читабельным.
 +На этой странице приведены синтаксические конструкции, которые можно использовать при редактировании страниц.
 +Чтобы посмотреть исходный код этой страницы, нажмите кнопку "Править страницу" в меню справа.
 +Чтобы поупражняться, используйте [[playground:playground|песочницу]].
 +Простую разметку также можно легко сделать с помощью [[https://dokuwiki.ru/quickbuttons|панели инструментов]]
 +
 +===== Базовое форматирование =====
 +
 +DokuWiki поддерживает выделение текста **жирным шрифтом**, //курсивом//, __подчеркнутый текст__ и вывод текста ''моноширинным шрифтом''.
 +Все эти стили можно **__//''объединять''//__**.
 +
 +<code>
 +DokuWiki поддерживает выделение текста **жирным шрифтом**, //курсивом//, __подчеркниванием текста__ и вывод текста ''моноширинным шрифтом''
 +Все эти стили можно **__//''объединять''//__**.
 +</code>
 +
 +Также можно использовать <sub>подстрочный</sub> и <sup>надстрочный</sup> индексы.
 +
 +<code>
 +Также можно использовать <sub>подстрочный</sub> и <sup>надстрочный</sup> индексы.
 +</code>
 +
 +Ещё можно <del>зачеркнуть текст</del>.
 +
 +<code>
 +Ещё можно <del>зачеркнуть текст</del>.
 +</code>
 +
 + **Параграфы** отбиваются пустой строкой.
 +Если нужно вставить **принудительный перенос строки**, не создавая параграф, вставьте две обратных косых и за ним пробел или новую строку.
 +
 +Просто текст с разрывом строк\\ Обратите внимание, 
 +что две обратных косых действуют только в конце строки\\
 +или если за ними стоит\\ пробел. Если его не поставить, \\получится вот так.
 +
 +<code>Просто текст с разрывом строк\\ Обратите внимание,
 +что две обратных косых действуют только в конце строки\\
 +или если за ними стоит\\ пробел. Если его не поставить, \\получится вот так.
 +</code>
 +
 +:!: Принудительные переносы следует использовать только в случае крайней необходимости.
 +
 +===== Ссылки =====
 +
 +Ссылки в DokuWiki бывают разные, и создавать их можно тоже по-разному.
 +
 +==== Внешние ====
 +
 +Внешние ссылки распознаются автоматически: http://www.google.com или просто www.google.com --- также можно указывать текст ссылки:
 +[[http://www.google.com|Это ссылка на Google]].
 +Адреса электронной почты тоже распознаются: <andi@splitbrain.org>.
 +{{:dokuwiki-128.png|}}
 +<code>Внешние ссылки распознаются автоматически: http://www.google.com или просто www.google.com --- также можно указывать текст ссылки:
 +[[http://www.google.com|Это ссылка на Google]].
 +Адреса электронной почты тоже распознаются: <andi@splitbrain.org>.</code>
 +
 +
 +==== Внутренние ====
 +
 +Внутренние ссылки создаются посредством квадратных скобок.
 +Можно либо просто указать [[wiki:ru:imja_stranicy]], либо дополнительно прописать [[wiki:ru:imja_stranicy|Текст ссылки]].
 +Имена Wiki-страниц автоматически переводятся в нижний регистр, пробелы заменяются подчерком, русские буквы транслитерируются, спецсимволы использовать нельзя.
 +
 +<code>Внутренние ссылки создаются посредством квадратных скобок.
 +Можно либо просто указать [[Имя страницы]], либо дополнительно прописать [[Имя страницы|Текст ссылки]].
 +Имена Wiki-страниц автоматически переводятся в нижний регистр, пробелы заменяются подчерком, русские буквы транслитерируются, спецсимволы использовать нельзя.</code>
 +
 +В ссылке через двоеточие можно использовать пространства имен [[some:namespace]].
 +
 +<code>В ссылке через двоеточие можно использовать пространства имен [[some:namespace]].</code>
 +
 +Подробнее о [[https://www.dokuwiki.ru/namespaces|пространствах имен]].
 +
 +Ставить ссылки на определённый раздел тоже можно.
 +Просто добавьте имя раздела через решётку, как это делается в HTML.
 +Ссылка на [[syntax#внутренние|текущий раздел]].
 +
 +<code>Ссылка на [[syntax#внутренние|текущий раздел]].</code>
 +
 +Примечания:
 +
 +  * Ссылки на [[syntax|существующие страницы]] отображаются иначе, чем ссылки на [[wiki:ru:nesuschestvujuschie_stranicy]]
 +  * Внутренние ссылки без указанного текста могут отображаться по-разному в зависимости от настроек - в качестве текста может использоваться название страницы или заголовок первого уровня (на этом сайте используется второй вариант). Так что лучше каждый раз указывать текст ссылки.
 +  * DokuWiki по умолчанию не использует [[wp>CamelCase]] для автоматического создания ссылок, но эту возможность можно включить в файле [[doku>config]]. Проверка: Если DokuWiki — ссылка, значит эта возможность включена.
 +  * Если название раздела меняется, ссылки на него не меняются автоматически. Так что не очень полагайтесь на ссылки на разделы.
 +
 +==== InterWiki ====
 +
 +DokuWiki поддерживает [[doku>Interwiki|InterWiki]]-ссылки. 
 +Это короткие ссылки на другие Wiki. 
 +Например, вот ссылка на страницу Википедии о DokuWiki: [[wp>DokuWiki]].
 +И на русском: [[wpru>DokuWiki]]
 +
 +<code>
 +DokuWiki поддерживает [[doku>Interwiki|InterWiki]]-ссылки. 
 +Это короткие ссылки на другие Wiki. 
 +Например, вот ссылка на страницу Википедии о DokuWiki: [[wp>DokuWiki]].
 +И на русском: [[wpru>DokuWiki]]
 +</code>
 +
 +==== Ссылки на изображения ====
 +
 +Совместив синтаксис ссылки и [[syntax#картинки и другие файлы|картинки]], можно вставить в текст картинку, которая будет внутренней или внешней ссылкой:
 +
 +<code>[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]</code>
 +
 +[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
 +
 +===== Сноски =====
 +
 +С помощью двойных скобок можно добавить сноску ((пример сноски)).
 +
 +<code>С помощью двойных скобок можно добавить сноску ((пример сноски)).</code>
 +
 +===== Разбивка на разделы =====
 +
 +Для структурирования текста можно использовать заголовки от первого до пятого уровня.
 +Если в тексте больше трёх заголовков уровня 3 и выше, то автоматически создаётся список содержимого.
 +Его можно отключить, вставив строку %%~~NOTOC~~%%.
 +
 +
 +
 +==== Заголовок 3-го уровня ====
 +=== Заголовок 4-го уровня ===
 +== Заголовок 5-го уровня ==
 +
 +<code>==== Заголовок 3-го уровня ====
 +=== Заголовок 4-го уровня ===
 +== Заголовок 5-го уровня ==</code>
 +
 +Четыре и более тире преобразуются в горизонтальную черту:
 +
 +----
 +
 +<code>
 +----
 +</code>
 +
 +
 +===== Изображения и другие файлы =====
 +
 +С помощью фигурных скобок можно вставлять в текст внешние и внутренние [[doku>images|картинки, видео и аудио]].
 +При желании можно указать размер.
 +
 +Реальный размер: {{wiki:dokuwiki-128.png}}
 +
 +Отмасштабированная до заданной ширины: {{wiki:dokuwiki-128.png?50}}
 +
 +Отмасштабированная до заданных размеров: {{wiki:dokuwiki-128.png?200x50}}
 +
 +Отмасштабированная внешняя картинка: {{https://www.php.net/images/php.gif?200x50}}
 +
 +<code>
 +Реальный размер: {{wiki:dokuwiki-128.png}}
 +Отмасштабированная до заданной ширины: {{wiki:dokuwiki-128.png?50}}
 +Отмасштабированная до заданных размеров: {{wiki:dokuwiki-128.png?200x50}}
 +Отмасштабированная внешняя картинка: {{https://www.php.net/images/php.gif?200x50}}
 +</code>
 +
 +С помощью пробела слева или справа можно задать выравнивание картинки:
 +
 +{{wiki:dokuwiki-128.png }}
 +{{ wiki:dokuwiki-128.png}}
 +{{ wiki:dokuwiki-128.png }}
 +
 +<code>{{wiki:dokuwiki-128.png }}
 +{{ wiki:dokuwiki-128.png}}
 +{{ wiki:dokuwiki-128.png }}
 +</code>
 +
 +Можно указать название картинки, которое будет отображаться в виде всплывающей подсказки.
 +
 +{{ wiki:dokuwiki-128.png|Название картинки}}
 +
 +<code>{{ wiki:dokuwiki-128.png|Название картинки}}</code>
 +
 +Если задать имя файла (внутреннее или внешнее), не являющегося картинкой (''gif, jpeg, png''), то оно отобразится в виде ссылки.
 +
 +По умолчанию клик по картинки открывает страницу с описанием этой картинки.
 +Чтобы картинка была не кликабельной, укажите параметр nolink:
 +
 +{{wiki:dokuwiki-128.png?nolink}}
 +
 +<code>{{wiki:dokuwiki-128.png?nolink}}</code>
 +
 +Чтобы по клику переходить сразу на картинку в полном разрешении, укажите параметр direct:
 +
 +{{wiki:dokuwiki-128.png?direct}}
 +
 +<code>{{wiki:dokuwiki-128.png?direct}}</code>
 +
 +===== Списки =====
 +
 +Dokuwiki поддерживает нумерованные и ненумерованные списки. Чтобы создать элемент списка, поставьте в начале строки два пробела и потом * в случае ненумерованного списка, или - в случае нумерованного.
 +
 +  * Это список
 +  * Второй элемент списка
 +    * Список может быть вложенным
 +  * Ещё один элемент
 +
 +  - Тоже список, только нумерованный
 +  - Ещё элемент
 +    - Чем больше пробелов в начале, тем глубже вложенность
 +  - Всё просто
 +
 +<code>
 +  * Это список
 +  * Второй элемент списка
 +    * Список может быть вложенным
 +  * Ещё один элемент
 +
 +  - Тоже список, только нумерованный
 +  - Ещё элемент
 +    - Чем больше пробелов в начале, тем глубже вложенность
 +  - Всё просто
 +</code>
 +
 +
 +
 +===== Смайлики =====
 +
 +DokuWiki преобразует наиболее употребляемые смайлики в их графические эквиваленты. Дополнительные смайлики можно положить в директорию ''smiley'' и внести изменения в файл ''conf/smileys.conf''. Вот смайлики, которые есть в DokuWiki:
 +
 +  * 8-) %%8-)%%
 +  * 8-O %%8-O%%
 +  * :-( %%:-(%%
 +  * :-) %%:-)%%
 +  * =) %%=)%%
 +  * :-/ %%:-/%%
 +  * :-\ %%:-\%%
 +  * :-? %%:-?%%
 +  * :-D %%:-D%%
 +  * :-P %%:-P%%
 +  * :-O %%:-O%%
 +  * :-X %%:-X%%
 +  * :-| %%:-|%%
 +  * ;-) %%;-)%%
 +  * ^_^ %%^_^%%
 +  * :?: %%:?:%%
 +  * :!: %%:!:%%
 +  * LOL %%LOL%%
 +  * FIXME %%FIXME%%
 +  * DELETEME %%DELETEME%%
 +
 +
 +
 +===== Типографские символы =====
 +
 +DokuWiki может переделывать символы, набранные простым текстом, в их типографские эквиваленты.
 +Распознаются следующие символы.
 +
 +-> <- <-> => <= <=> >> << -- --- '640x480' (c) (tm) (r)\\
 +"Александр Сергеевич --- это наше всё (c)"
 +
 +<code>
 +-> <- <-> => <= <=> >> << -- --- '640x480' (c) (tm) (r)
 +"Александр Сергеевич --- это наше всё (c)"
 +</code>
 +
 +Примечания:
 +
 +  * Это конвертирование [[doku>entities|настраивается]]
 +  * Чтобы вставить двойные кавычки (например, как знак дюйма %%"%%), экранируйте их с помощью ''<nowiki>%%</nowiki>''
 + 
 +
 +===== Цитирование =====
 +
 +Чтобы пометить текст в качестве ответа или комментария, используйте следующий синтаксис:
 +
 +  Я считаю, мы должны это сделать.
 +  > Нет, не должны.
 +  >> А я говорю, должны.
 +  > Правда?
 +  >> Да!
 +  >>> Тогда делаем!
 +
 +Я считаю, мы должны это сделать.
 +> Нет, не должны.
 +>> А я говорю, должны.
 +> Правда?
 +>> Да!
 +>>> Тогда делаем!
 +
 +===== Таблицы =====
 +
 +DokuWiki поддерживает упрощенный синтаксис форматирования таблиц.
 +
 +^ Заголовок 1      ^ Заголовок 2         ^ Заголовок 3            ^
 +| Строка 1 Столбец 1  | Строка 1 Столбец 2     | Строка 1 Столбец 3        |
 +| Строка 2 Столбец 1  | Объединение столбцов (обратите внимание на двойную вертикальную черту)  ||
 +| Строка 3 Столбец 1  | Строка 2 Столбец 2     | Строка 2 Столбец 3        |
 +
 +Строки данных должны начинаться и заканчиваться символом |, а заголовки — ^.
 +
 +<code>
 +^ Заголовок 1      ^ Заголовок 2         ^ Заголовок 3            ^
 +| Строка 1 Столбец 1  | Строка 1 Столбец 2     | Строка 1 Столбец 3        |
 +| Строка 2 Столбец 1  | Объединение столбцов (обратите внимание на двойную вертикальную черту)  ||
 +| Строка 3 Столбец 1  | Строка 2 Столбец 2     | Строка 2 Столбец 3        |
 +</code>
 +
 +Чтобы объединить две соседние ячейки в строке, просто оставьте соседнюю ячейку полностью пустой, как показано выше.
 +Следите, чтобы количество разделителей ячеек было одинаковым.
 +
 +Заголовки строк тоже поддерживаются.
 +
 +|              ^ Заголовок 1       ^ Заголовок 2      ^
 +^ Заголовок 3  | Строка 1 Столбец 2   | Строка 1 Столбец 3  |
 +^ Заголовок 4  | Объединения нет                    |
 +^ Заголовок 5  | Строка 2 Столбец 2   | Строка 2 Столбец 3  |
 +
 +Разделитель перед ячейкой определяет форматирование:
 +
 +<code>
 +|              ^ Заголовок 1       ^ Заголовок 2      ^
 +^ Заголовок 3  | Строка 1 Столбец 2   | Строка 1 Столбец 3  |
 +^ Заголовок 4  | Объединения нет                    |
 +^ Заголовок 5  | Строка 2 Столбец 2   | Строка 2 Столбец 3  |
 +</code>
 +
 +Чтобы объединить ячейки по вертикали, добавьте три двоеточия '':::'' в нижележащие ячейки.
 +
 +^ Заголовок 1        ^ Заголовок 2                    ^ Заголовок 3            ^
 +| Строка 1 Столбец 1 | вертикальное объединение ячеек | Строка 1 Столбец 3     |
 +| Строка 2 Столбец 1 | :::                            | Строка 2 Столбец 3     |
 +| Строка 3 Столбец 1 | :::                            | Строка 2 Столбец 3     |
 +
 +<code>
 +^ Заголовок 1        ^ Заголовок 2                    ^ Заголовок 3            ^
 +| Строка 1 Столбец 1 | вертикальное объединение ячеек | Строка 1 Столбец 3     |
 +| Строка 2 Столбец 1 | :::                            | Строка 2 Столбец 3     |
 +| Строка 3 Столбец 1 | :::                            | Строка 2 Столбец 3     |
 +</code>
 +  
 +Текст ячеек таблицы можно выравнивать.
 +Просто добавьте минимум два пробела с противоположной стороны: слева — если надо выровнять вправо, справа – если надо выровнять влево, и по два с каждой стороны — если по центру. 
 +
 +^           Таблица с выравниванием        ^^^
 +|        вправо|   по центру  |влево         |
 +|влево                вправо|   по центру  |
 +| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
 +
 +  ^           Таблица с выравниванием        ^^^
 +  |        вправо|   по центру  |влево         |
 +  |влево                вправо|   по центру  |
 +  | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
 +
 +===== Неформатируемые блоки =====
 +
 +Чтобы вставить в документ блок без форматирования, либо начинайте каждую строчку блока с двух или более пробелов, либо используйте тэг ''%%<code>%%'' или ''%%<file>%%''.
 +Пробелы в начале строки являются эквивалентом применения тега ''%%<code>%%'' к одной строке, но без подсветки кода.
 +Если более чем с одного пробела начинаются несколько подряд идущих строк, они объединяются в один блок ''%%<code>%%''.
 +
 +Пример использования ''%%<code>%%''..''%%</code>%%''.
 +<code>Это неформатированный текст, в котором сохранены все пробелы: вот             <- так.</code>
 +
 +Пример использования ''%%<file>%%''..''%%</file>%%''.
 +<file>В принципе то же самое, но этим выделением можно показать, 
 +что цитируется содержимое файла.</file>
 +
 +Чтобы парсер полностью проигнорировал некий текст (т.е. не форматировал его), либо заключите его в тэги ''%%<nowiki>%%'', либо ещё проще — в двойные знаки процента ''<nowiki>%%</nowiki>''.
 +
 +Это просто текст, в котором есть адрес %%http://www.splitbrain.org%% 
 +и %%**форматирование**%% --- но ничего не происходит.
 +
 +<code>Это просто текст, в котором есть адрес %%http://www.splitbrain.org%% 
 +и %%**форматирование**%% --- но ничего не происходит.</code>
 +
 +Чтобы увидеть, как используются эти блоки, посмотрите код этой страницы.
 +
 +
 +
 +===== Подсветка синтаксиса =====
 +
 +DokuWiki может подсвечивать программный код, чтобы его было проще читать.
 +Для этого используется библиотека [[http://qbnz.com/highlighter/|GeSHi]] — соответственно подсвечиваются все языки, поддерживаемые GeSHi.
 +Синтаксис такой же, как и в блоке ''code'' в предыдущем разделе, но с добавлением названия языка.
 +Например %%<code java>%%.
 +<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.
 +    }
 +}
 +</code>
 +
 +==== Скачивание кода ====
 +Отображаемый с помощью тэгов ''%%<code>%%'' и ''%%<file>%%'' код можно сделать доступным для загрузки, указав имя файла:
 +
 +<code>
 +<file php myexample.php>
 +<?php echo "hello world!"; ?>
 +</file>
 +</code>
 +
 +<file php myexample.php>
 +<?php echo "hello world!"; ?>
 +</file>
 +
 +Если подсветка синтаксиса не нужна, но нужен загружаемый файл, вместо языка поставьте прочерк (''-''): ''%%<code - myfile.foo>%%''.
 +
 +===== Дополнительное форматирование (синтаксические плагины) =====
 +
 +Синтаксис DokuWiki может быть расширен за счёт [[doku>plugins|плагинов]].
 +
 +На этом сайте установлены следующие плагины:
 +
 +~~INFO:syntaxplugins~~
 +
 +~~DISCUSSION:off~~