Differences

This shows you the differences between two versions of the page.

Link to this comparison view

wiki:syntax [2017/07/18 14:15]
wiki:syntax [2023/03/16 12:20] (current)
Line 1: Line 1:
 +====== Форматирование синтаксиса ======
  
 +===== Создание и удаление страницы =====
 +
 +==== Создание ====
 +
 +Для того, чтобы создать страницу, нужно в конкретном разделе после адресной строки ввести её название латинскими буквами. 
 +<code>
 +[[wiki/syntax/new]]
 +</code>
 +Выдастся сообщение о том, что страница не найдена и будет предложено её создать.
 +
 +Кроме того, название страницы можно вписать в адресную строку, добавив /имя к текущему адресу, а также можно добавить в текст статьи ссылку на несуществующую страницу, при нажатии на которую будет также предложено создать новую страницу.
 +
 +Пример:
 +
 +  * [[wiki/syntax]]
 +  * [[wiki/new]]
 +
 +==== Удаление ====
 +
 +Для того, чтобы удалить страницу нужно:
 +
 +  * Удалить все ссылки на неё. Для этого в адресной строке добавляем к тому, что написано ?do=backlink. DоkuWiki выдаст все страницы, которые ссылаются на текущую. \\ В случае, если ссылки на страницу или её части могли использоваться для внедрения в другие статьи с помощью плагина Include, требуется поискать такие ссылки поиском в текстовых файлах DocuWiki (см. [[wiki/syntax#вставка_части_одной_статьи_в_другую_плагин_include|Вставка части одной статьи в другую (плагин Include)]]).
 +  * На удаляемой странице нажать "Править", удалить весь текст и сохранить.
 +
 +===== Форматирование текста =====
 +
 +<code>
 +**Жирный**
 +</code>
 +**Жирный**
 +<code>
 +__Подчёркнутый__
 +</code>
 +__Подчёркнутый__
 +<code>
 +//Курсив//
 +</code>
 +//Курсив//
 +
 +При формировании списков нужно сначала ставить 2 пробела, затем спец символ (звёздочка для ненумерованного списка, минус для нумерованного). Если нужен элемент списка более нижнего уровня, то ставим перед символом на 2 пробела больше.
 +<code>
 +  * Ненумерованный список
 +  * Ненумерованный список
 +</code>
 +  * Ненумерованный список
 +  * Ненумерованный список
 +<code>
 +  - Нумерованный список
 +  - Нумерованный список
 +</code>
 +  - Нумерованный список
 +  - Нумерованный список
 +
 +===== Ссылки =====
 +
 +Здесь описаны правила организации ссылок при создании страниц с помощью системы DokuWiki.
 +
 +После слова результат следует снимок экрана с тем, как это будет выглядеть в системе.
 +
 +==== Внешние ссылки ====
 +
 +Внешние ссылки распознаются автоматически: http://www.google.com.
 +
 +Или просто www.google.com.
 +
 +Также можно указывать текст ссылки:
 +<code>
 +[[http://www.google.com|Это ссылка на Google]]
 +</code>
 +Результат:
 +
 +[[http://www.google.com|Это ссылка на Google]] 
 +
 +Адреса электронной почты тоже распознаются: <andi@splitbrain.org>.
 +
 +==== Внутренние ссылки ====
 +
 +Внутренние ссылки создаются посредством квадратных скобок.
 +
 +Можно либо просто указать  
 +<code>
 +[[wiki/syntax]]
 +</code>
 +
 +Результат:
 +
 +[[wiki/syntax]]
 +
 +Либо дополнительно прописать:
 +
 +<code>
 +[[wiki/syntax|Справка по синтаксису]]
 +</code>
 +
 +Результат:
 +
 +[[wiki/syntax|Справка по синтаксису]] 
 +
 +Имена Wiki-страниц автоматически переводятся в нижний регистр, спецсимволы использовать нельзя.
 +
 +Ставить ссылки на определённый раздел тоже можно. Просто добавьте через решётку имя раздела, также как это делается в HTML.
 +
 +Ссылка на 
 +<code>
 +[[wiki/syntax?&#внутренние_ссылки|Внутренние ссылки]]
 +</code>
 +
 +Результат:
 +
 +[[wiki/syntax?&#внутренние_ссылки|Внутренние ссылки]]
 +
 +Примечания:
 +
 +  * Ссылки на существующие страницы отображаются иным цветом, чем ссылки на несуществующие.
 +  * Внутренние ссылки без указанного текста могут отображаться по разному в зависимости от настроек - в качестве текста может использоваться название страницы или заголовок первого уровня. Так что лучше каждый раз указывать текст ссылки.
 +  * Если меняется название раздела, ссылки на него не меняются автоматически. Так что не очень полагайтесь на ссылки на разделы.
 +
 +==== Ссылки на другие разделы документации ====
 +
 +**Типы ссылок**
 +
 +Ссылки на другие разделы документации могут быть двух типов:
 +
 +  * На конкретный раздел (документ или главу);
 +  * На подпункт конкретного раздела (статью).
 +
 +Ссылки полагается начинать с пространства имён.
 +
 +Внутренние ссылки первого типа полагается писать следующим образом:
 +
 +  [[ссылка_на_раздел]]
 +
 +Никаких названий дописывать не нужно, они подставятся автоматически.
 +
 +Пример:
 +
 +  (см. [[ru/bsc/develop/data_struct]])
 +
 +результат:
 +
 +(см. [[ru/bsc/develop/data_struct]]) 
 +
 +Ссылки второго типа полагается писать следующим образом:
 +
 +  [[ссылка_на_раздел#ссылка_на_статью|эта статья]]
 +
 +В этом случае нужно в ссылке статьи обязательно дописывать название статьи.
 +
 +Пример:
 +
 +  см. [[ru/bsc/technology#этапы_разработки_и_внедрения_ссп|Этапы разработки и внедрения ССП]]
 +
 +Результат:
 +
 +см. [[ru/bsc/technology#этапы_разработки_и_внедрения_ссп|Этапы разработки и внедрения ССП]]
 +
 +Поскольку в данном случае мы пишем название статьи вручную, то при смене названия статьи внутри раздела придётся также менять название ссылки вручную.
 +
 +Просмотреть полный перечень страниц, которые ссылаются на данную статью(#якорь), можно написав в поисковике в кавычках “имя_страницы#имя_статьи” (так, как они написаны в ссылке) либо “внутренний_путь(начиная с пространства имён)#имя_статьи” - в этом случае без кавычек.
 +
 +**Способы использования ссылок**
 +
 +Ссылки могут использоваться двумя способами:
 +
 +  - По ходу изложения в тексте
 +  - Использование оборота (см. ….)
 +
 +**По ходу изложения в тексте**
 +
 +Синтаксис:
 +
 +  <тип раздела> [[ссылка_на_раздел]]
 +
 +Тип раздела -- это: "глава" или "статья".
 +
 +Пример:
 +
 +…описаны в статье [[ru/csdesign/bpmodeling/epc_notation#команды_панели_инструментов_для_диаграммы_epc|Команды панели инструментов для диаграммы EPC]]. 
 +
 +Если в разделе одного документа дается ссылка на раздел другого документа, то перед ссылкой на раздел дается ссылка на документ. Если рядом дается 2 и более ссылок на разделы из разных документов, то перед ссылкой на раздел также дается ссылка на документ.
 +
 +Пример:
 +
 +…описаны в главе [[ru/csdesign/csdesign|Проектирование системы управления]] -> [[ru/csdesign/bpmodeling/epc_notation|Нотация EPC]].
 +
 +…описаны в главах [[ru/manual/manual|Руководство пользователя]] --> [[ru/manual/creating_model/epc_notation|Нотация EPC]], [[ru/csdesign/csdesign|Проектирование системы управления]] --> [[ru/csdesign/bpmodeling/epc_notation|Нотация EPC]].
 +
 +**Использование оборота (см. ….)**
 +
 +Синтаксис:
 +
 +  (см. [[ссылка_на_раздел]])
 +
 +Пример:
 +
 +(см. [[ru/csdesign/bpmodeling/epc_notation#команды_панели_инструментов_для_диаграммы_epc|Команды панели инструментов для диаграммы EPC]])
 +
 +Если в разделе одного документа дается ссылка на раздел другого документа, то перед ссылкой на раздел дается ссылка на документ. Если рядом дается 2 и более ссылок на разделы из разных документов, то перед ссылкой на раздел также дается ссылка на документ.
 +
 +Пример:
 +
 +(см. [[ru/csdesign/csdesign]] --> [[ru/csdesign/bpmodeling/epc_notation]]).
 +
 +(см. [[ru/manual/manual]] --> [[ru/manual/creating_model/epc_notation]], [[ru/csdesign/csdesign]] --> [[ru/csdesign/bpmodeling/epc_notation]])
 +
 +**Просто текст**
 +
 +Если требуется вставить текс, содержащий служебные символы (тэги), то чтобы вставить их как обычный текст, нужно открывающиеся скобки тэга обрамить в символы процентов, т.е. %%{{%%.
 +
 +Пример:
 +
 +Текст %%[[%%ru/csdesign/csdesign]] внутри текста страницы выглядит как {{wiki/syntax/text.png?nolink}}
 +==== Картинки ссылки ====
 +
 +Совместив синтаксис ссылки и картинки, можно вставить в текст картинку, которая будет внутренней или внешней ссылкой:
 +
 +<code>
 +[[http://www.php.net|{{dokuwiki-128.png}}]]
 +</code>
 +
 +[[http://www.php.net/|{{wiki/syntax/dokuwiki-128.png}}]]
 +
 +Учтите: форматирование картинок это единственная синтаксическая конструкция, которую можно использовать в тексте ссылки.
 +
 +===== Картинки в DokuWiki =====
 +
 +Здесь приводятся способы вставки картинок при создании страниц в системе DokuWiki.
 +
 +Но чаще всего приходится вставлять картинки с помощью стороннего плагина ImageBox. Подробности о нём ниже.
 +
 +С помощью фигурных скобок можно вставлять в текст внешние и внутренние картинки.
 +
 +<code>
 +{{wiki/syntax/dokuwiki-128.png?nolink}}
 +</code>
 +
 +{{wiki/syntax/dokuwiki-128.png?nolink}}
 +
 +nolink - команда необходимая для того, чтобы изображение было не кликабельно. 
 +
 +Поставив слева или справа пробел можно задать выравнивание картинки:
 +
 +<code>
 +{{wiki/syntax/dokuwiki-128.png?nolink }} {{ wiki/syntax/dokuwiki-128.png?nolink }} {{ wiki/syntax/dokuwiki-128.png?nolink}}
 +</code>
 +
 +{{wiki/syntax/dokuwiki-128.png?nolink }} {{ wiki/syntax/dokuwiki-128.png?nolink}} {{ wiki/syntax/dokuwiki-128.png?nolink }}
 +
 +Картинке можно задать название (в большинстве браузеров оно отображается в виде всплывающей подсказки).
 +
 +<code>
 +{{wiki/syntax/dokuwiki-128.png?nolink|DokuWiki}}
 +</code>
 +
 +{{wiki/syntax/dokuwiki-128.png?nolink|DokuWiki}}
 +
 +Если нужно прикрепить картинку как файл или просто прикрепить какой-либо файл, то для этого пишем относительную ссылку на него.\\
 +
 +Для изображений после ссылки на изображение дописываем linkonly 
 +<code>
 +{{wiki\syntax\dokuwiki-128.png?linkonly}}
 +</code> 
 +результат\\
 +{{wiki/syntax/dokuwiki-128.png?linkonly}}
 +
 +
 +Ссылку на изображение нужно указывать с учётом пространства имён:
 +
 +%%{{ ru/head1/img1.png }}%%
 +
 +При этом необходимо, чтобы картинка находилась в каталоге Media в соответствущем месте:
 +
 +/media/ru/head1/img1.png.
 + 
 +
 +Все иконки должны браться из единой папки: common/icons.
 +
 +Иконки пронумерованы с 0 до 257. Если в системе меняется какая-либо иконка, то менять её именно в этой папке, чтобы потом изменения отобразились везде, где она есть.
 +
 +Если есть иконки со словами, то вставлять их в подобный каталог в соответствующий региональный раздел. (н-р ru/common/icons).
 +
 + 
 +Все большие изображение, шириной более 800 пикселей, нужно сжимать.
 +
 +Для сжатия использовать FastStown Wiever. Использовать фильтр Lanczos3.\\ \\ 
 +
 +
 +==== Вставка картинок с рамкой и заголовком (плагин Imagebox) ====
 +
 +Вставка рисунка внутри рамки с помощью плагина Imagebox осуществляется с помощью тага
 +
 +%%[{{ путь?nolink |Рисунок 1. Описание}}]%%
 +
 +Здесь:
 +
 +  - Путь -- путь к файлу.
 +  - ? -- разделитель.
 +  - nolink -- команда с помощью которой изображение перестаёт быть ссылкой на само себя (по умолчанию в ДокуВики при нажатии на любое изображение осуществляется переход на него)
 +  - %%|%% - разделитель.
 +  - Рисунок 1. Описание -- подпись к рисунку. Структура подписи следующая:
 +    * Сначала пишется "Рисунок 1." обычным шрифтом (без подчёркивания и курсива) с точкой на конце.
 +    * Описание, если такое присутствует. Шрифт обычный (без подчёркивания и курсива).
 +
 +**Пример**:  %%[{{ wiki/syntax/dokuwiki-128.png |Логотип DokuWiki}}]%%
 +
 +[{{ wiki/syntax/dokuwiki-128.png |Логотип DokuWiki}}]
 +
 +Ограничения по размеру вставляемых изображений сохраняются и при работе с данным плагином.
 +===== Прикрепление файлов к статьям =====
 +
 +Файлы прикрепляются к статьям по аналогии с картинками, т.е. тот же синтаксис.\\
 +Но при этом файл предварительно запаковываем в *.zip. Использование файлов в виде архива zip обязательно для облегчения поиска файлов при обновлении и для совместимости с браузерами.
 +
 +Файлы выкладываем в каталог /common в зависимости от языкового пространства.
 +
 +Пример:
 +  {{common/ru/bs.zip|Файл конфигурации}}
 +Результат:
 +
 +{{common/bs.zip|Файл конфигурации}}
 +
 +Поиск файлов осуществлять через ".zip" (включая кавычки).\\
 +Таким образом нужно прикреплять все файлы кроме картинок.\\
 +\\
 +**Внимание!** В ссылках, а также в названиях файлов не должно быть заглавных букв. Иначе ссылки на файлы не будут работать.
 +===== Прочий синтаксис. =====
 +
 +Прочие особенности синтаксиса не нужны.
 +
 +Для конвертации страниц используется Html2DokuWiki.ЕХЕ (лежит в этой же папке). Принимает этот HTML код небольшими порциями.
 +
 +Но ссылки и изображение приходится редактировать вручную.
 +
 +Для названия статьи всегда используем заголовок первого уровня ( ====== Заголовок1 ====== ). Остальные по понижающейся ( ===== Заголовок2 ===== ).
 +
 +Для того, чтобы вставить блок "Внимание" ("Примечания"), нужно использовать заголовок 5-го уровня ( == Внимание! == ), затем продолжать писать, как обычные раздел, а завершать блок пустым заголовком второго уровня ( ===== ===== ).
 +               
 +
 +
 +===== Вставка таблиц  с рамкой и заголовком (плагин Tablebox) =====
 +
 +Вставка таблиц внутри рамки осуществляется с помощью следующих тагов:
 +
 +%%<startTableBox>%%\\
 +%%^ Заголовок1  ^  Заголовок2  ^ %%\\
 +%%| Ячейка1 | Ячейка2 |%%\\
 +%%| Ячейка3 | Ячейка4 |%%\\
 +%%<endTableBox| Таблица>%%
 +
 +<startTableBox>
 +^ Заголовок1  ^  Заголовок2  ^  
 +| Ячейка1 | Ячейка2 |
 +| Ячейка3 | Ячейка4 |
 +<endTableBox| Таблица>
 +
 +Здесь:
 +  - %%<startTableBox>%% - начало контейнера.
 +  - %%^ Заголовок 1 ^ Заголовок 2 ^%%\\ %%| Ячейка 1 | Ячейка 2 |%%\\ %%| Ячейка 3 | Ячейка 4 |%% - содержимое таблицы (стандартный синтаксис ДокуВики)\\
 +  - %%<endTableBox|Таблица 1. Описание>%%
 +    * endTableBox -- команда контейнера.
 +    * | - разделитель.
 +    * Таблица 1. Описание -- подпись к таблице:
 +        * Сначала пишется "Таблица 1." обычным шрифтом (без подчёркивания и курсива) с точкой на конце.
 +        * Описание, если такое присутствует. Шрифт обычный (без подчёркивания и курсива).
 +
 +===== Вставка текста кода в статьи =====
 +
 +Для вставки кода в статьи нужно воспользоватьмя тегами
 +
 +<cоde _наименование_языка>\\
 +Текст кода\\
 +</cоde>\\
 +
 +**Пример**\\
 +Вставка "Hello world!" на C# будет выглядеть так:
 +<code Csharp>
 +// A Hello World! program in C#.
 +using System;
 +namespace HelloWorld
 +{
 +    class Hello 
 +    {
 +        static void Main() 
 +        {
 +            Console.WriteLine("Hello World!");
 +
 +            // Keep the console window open in debug mode.
 +            Console.WriteLine("Press any key to exit.");
 +            Console.ReadKey();
 +        }
 +    }
 +}
 +</code>
 +
 +Перечень всех поддерживаемых языков (код которых надо вставлять в открывающий тэг вместо "_наименование_языка") для подсветки синтаксиса внутри блока можно посмотреть [[http://www.dokuwiki.ru/syntax#podsvetka_sintaksisa|здесь]].
 +
 +===== Вставка части одной статьи в другую (плагин Include) =====
 +
 +Для вставки части текста из другой статьи в текущую нужно воспользоваться тэгами
 +
 +%%{{%%page>страница#якорь&noheader&noeditbutton&nouser&nodate}}
 +
 +Здесь:
 +  - page> - стартовый тег. Обозначает, что в результате работы тэга будет выведена часть другой страницы. 
 +  - страница#якорь - путь до страницы и конкретного куска текста на ней.
 +  - noheader - запрещает вывод заголовка раздела, который вставляется данной командой.
 +  - noeditbutton - убирает кнопку редактирования со вставляемого текста.
 +  - nouser&nodate - убирают информацию в нижней части экрана о авторе и дате написания вставляемого текста.
 +
 +**Пример**\\
 +Вставим часть статьи по ссылке [[ru/terms/terms_modeling_notations#нотация]], как встраиваемый текст.
 +Результат команды %%{{%%page>ru/terms/terms_modeling_notations#нотация&noheader&noeditbutton&nouser&nodate}}, будет выглядеть как (результат работы только следующая строка):
 +
 +{{page>ru/terms/terms_modeling_notations#нотация&noheader&noeditbutton&nouser&nodate}}
 +
 +**Примечание.** Ссылки внутри данного плагина невозможно найти с помощью стандартных средств поиска DokuWiki, поэтому в случае необходимости (например, при удалении или переименовании статьи или её раздела, ссылки на которые могли использоваться внутри такого плагина) требуется использовать поиск в текстовых файлах DokuWiki.
 +===== Плагин Tag =====
 +
 +Для вставки тэгов необходимо пользоваться следующим кодом:
 +<code>
 +{{tag>Таг}}
 +</code>
 +Если к странице нужно прикрепить несколько тагов, то разделяются они пробелами.\\
 +Таги стоит вводить аккуратно, т.к. лишний символ = новый таг.
 +
 +
 +
 +
 +
 +
 +[<contextnavigator>]
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +{(rater>id=wiki_syntax|name=Форматирование синтаксиса|type=vote|trace=ip|headline=off)}
Driven by DokuWiki