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

## Ссылки

### Ссылки Redmine

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

- Ссылка на задачу: #124 ( #124 - ссылка зачёркнута, если задача закрыта)
- Ссылка на задачу: #124-6, или #124#note-6

Wiki ссылки:

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

Также вы можете ссылаться на 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" (используйте кавычки, если в названии есть пробелы)

Исключения:

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

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

HTTP и почтовые адреса автоматически транслируются в ссылки:

    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=Эскиз)}}

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

По умолчанию за подсветку код отвечает CodeRay, и для лучшей производительности библиотеки написаны на Ruby. Сейчас поддерживаются c, clojure, cpp (c++, cplusplus), css, delphi (pascal), diff (patch), erb (eruby, rhtml), go, groovy, haml, html (xhtml), java, javascript (ecmascript, ecma_script, java_script, js), json, lua, php, python, ruby (irb), sass, sql, taskpaper, text (plain, plaintext), xml and yaml (yml) языки.

Вы можете подсветить код в любом месте, где поддерживается 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