# Форматирование Wiki

## Ссылки

### Ссылки Redmine

Redmine допускает гиперссылки между ресурсами (задачи, версии, wiki-страницы) отовсюду в wiki-формате.

- Ссылка на задачу: #124 ( #124 - ссылка зачёркнута, если задача закрыта)
- Link to an issue including tracker name and subject: ##124 (displays Bug #124: bulk edit doesn't change the category or fixed version properties)
- Ссылка на задачу: #124-6, или #124#note-6

Wiki ссылки:

- [[Руководство]] выводит ссылку на страницу с названием 'Руководство': Руководство
- [[Руководство#дальнейшее-чтение]] направляет на метку "дальнейшее-чтение". Заголовкам автоматически метки, таким образом, вы можете на них ссылаться: Руководство
- [[#further-reading]] link to the anchor "further-reading" of the current page: #further-reading
- [[Руководство|Руководство пользователя]] выводит ссылку на саму страницу, но с другим текстом: Руководство пользователя

Также вы можете ссылаться на wiki:

- [[sandbox:Некоторая страница]] выводит ссылку на страницу с названием 'Некоторая страница' wiki проекта Sandbox
- [[sandbox:]] выводит ссылку на главную страницу wiki проекта Sandbox

Ссылки на wiki окрашены в красный, если страница ещё не создана, пример: Несуществующая страница.

ССылки на другие ресурсы:

- Документы:
  - document#17 (ссылка на документ с id 17)
  - document:Приветствие (ссылка на документ с названием "Приветствие")
  - document:"Некоторый документ" (двойные кавычки использоются в случае, когда название документа содержит пробелы)
  - sandbox:document:"Приветствие" (ссылка на документ с названием "Приветствие" в проекте "sandbox")

- Этапы:
  - version#3 (ссылка на этап с id 3)
  - version:1.0.0 (ссылка на этап с названием "1.0.0")
  - version:"1.0 beta 2" (двойные кавычки использоются в случае, когда название этапа содержит пробелы)
  - sandbox:version:1.0.0 (ссылка на этап "1.0.0" проекта "sandbox")

- Вложения:
  - attachment:file.zip (ссылка на вложение текущего объекта с именем file.zip)
  - Сейчас можно ссылаться только на вложения текущего объекта (если вы просматриваете задачу, то возможно ссылаться только на вложения этой задачи)

- Версии:
  - r758 (ссылка на версию)
  - commit:c6f4d0fd (ссылка неа версию с нецифровым хешем)
  - svn1|r758 (ссылка на версию специфичного хранилища, для проектов лежащих в нескольких хранилищах)
  - commit:hg|c6f4d0fd (ссылка на версию с нецифровым хешем в специфичном хранилище)
  - sandbox:r758 (ссылка на версию в другом проекте)
  - sandbox:commit:c6f4d0fd (ссылка на версию с нецифровым хешем в другом проекте)

- Файлы хранилища:
  - source:some/file (ссылка на файл /some/file, расположенный в хранилище проекта)
  - source:some/file@52 (ссылка на 52 ревизию файла)
  - source:some/file#L120 (ссылка на 120 строку файла)
  - source:some/file@52#L120 (ссылка на 120 строку в 52 ревизии файла)
  - source:"some file@52#L120" (используйте кавычки, если в ссылке есть пробелы)
  - export:some/file (ссылка на загрузку файла)
  - source:svn1|some/file (ссылка на версию специфичного хранилища, для проектов лежащих в нескольких хранилищах)
  - sandbox:source:some/file (ссылка на файл /some/file, расположенный в хранилище проекта "sandbox")
  - sandbox:export:some/file (ссылка на загрузку файла)

- Форумы:
  - forum#1 (ссылка на форум с id 1)
  - forum:Support (ссылка на форум "Support")
  - forum:"Technical Support" (используйте кавычки, если в названии есть пробелы)

- Сообщения форума:
  - message#1218 (ссылка на сообщение с id 1218)

- Проекты:
  - project#3 (ссылка на проект с id 3)
  - project:someproject (ссылка на проект "someproject")
  - project:"Some Project" (используйте кавычки, если в названии есть пробелы)

- Новости:
  - news#2 (ссылка на новость с id 2)
  - news:Greetings (ссылка на новость "Greetings")
  - news:"First Release" (используйте кавычки, если в названии есть пробелы)

- Users:
  - user#2 (link to user with id 2)
  - user:jsmith (Link to user with login jsmith)
  - @jsmith (Link to user with login jsmith)

Исключения:

- Вы можете отменить обработку ссылок с помощью восклицательного знака перед ссылкой: !http://foo.bar

### Внешние ссылки

URLs (starting with: www, http, https, ftp, ftps, sftp and sftps) and email addresses are automatically turned into clickable links:

    http://www.redmine.org, someone@foo.bar

выводится: http://www.redmine.org, someone@foo.bar

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

    "Сайт Redmine":http://www.redmine.org

выводится: Сайт Redmine

## Форматирование текста

Для таких вещей, как заголовки, выделение, таблицы и списки, Redmine поддерживает синтакс Textile. Обратитесь за руководством к странице http://en.wikipedia.org/wiki/Textile_(markup_language) . Несколько примеров приведены ниже, Но сам текстовый процессор способен на гораздо большее.

### Стиль шрифта

    * *выделенный*
    * _наклонный_
    * _*выделенный наклонный*_
    * +подчёркнутый+
    * -зачёркнутый-

Выводится:

- выделенный
- наклонный
- выделенный наклонный
- подчёркнутый
- зачёркнутый

### Вставка изображений

- !url_изображения! выводит изображение, расположенное по адресу url_изображения (синтакс textile)
- !>url_изображения! выводит изображение, выровненное по правому краю
- Прикреплённое к wiki-странице изображение можно отобразить в тексте, используя имя файла: !вложенное_изображение.png!

### Заголовки

    h1. Заголовок

    h2. Подзаголовок

    h3. Подзаголовок подзаголовка

Redmine присваивает якорь каждому заголовку, поэтому вы можете легко сослаться на любой, указав в тексте "#Заголовок", "#Подзаголовок" и т.д.

### Параграфы

    p>. выровненный по правому краю
    p=. выровненный по центру

Это - выровненный по центру параграф.

### Цитаты

Начните параграф с bq.

    bq. Rails - это полноценный, многоуровневый фреймворк для построения веб-приложений, использующих базы данных,
        который основан на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC).

Выводится:

> Rails - это полноценный, многоуровневый фреймворк для построения веб-приложений, использующих базы данных, который основан на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC).

### Содержание

    {{Содержание}} => содержание, выровненное по левому краю
    {{>Содержание}} => содержание, выровненное по правому краю

### Horizontal Rule

    ---

## Макросы

В Redmine существуют следующие встроенные макросы:

`hello_world`

  Некоторый макрос.

`macro_list`

  Выводит список доступных макросов с описаниями, если они имеются.

`child_pages`

  Вывод списка дочерних страниц. Без аргументов выводится список дочерних страниц для текущей wiki-страницы. Пример:

      {{child_pages}} -- можно использователь только на wiki-странице
      {{child_pages(depth=2)}} -- вывести только 2 уровня вложенности

`include`

  Вставить wiki-страницу. Пример:

      {{include(Foo)}}

  или вставить сраницу wiki конкретного проекта:

      {{include(projectname:Foo)}}

`collapse`

  Вставить скрываемый текст. Пример:

      {{collapse(Читать дальше...)
      Этот блок текста по умолчанию скрыт.
      Он расскроется, если нажать на ссылку.
      }}

`thumbnail`

  Отображет кликабельный эскиз приложенной картинки. Пример:

      {{thumbnail(image.png)}}
      {{thumbnail(image.png, size=300, title=Эскиз)}}

## Подсветка кода

Default code highlightment relies on Rouge, a syntax highlighting library written in pure Ruby. It supports many commonly used languages such as c, cpp (c++), csharp (c#, cs), css, diff (patch, udiff), go (golang), groovy, html, java, javascript (js), kotlin, objective_c (objc), perl (pl), php, python (py), r, ruby (rb), sass, scala, shell (bash, zsh, ksh, sh), sql, swift, xml and yaml (yml) languages, where the names inside parentheses are aliases. Please refer to https://www.redmine.org/projects/redmine/wiki/RedmineCodeHighlightingLanguages for the full list of supported languages.

Вы можете подсветить код в любом месте, где поддерживается wiki-форматирование (название языка не зависит от регистра):

    <pre><code class="ruby">
      Поместите свой код сюда.
    </code></pre>

Пример:

    # The Greeter class
    class Greeter
      def initialize(name)
        @name = name.capitalize
      end

      def salute
        puts "Hello #{@name}!"
      end
    end