Оформление текстов

Для таких вещей как заголовки, выделение текста, таблицы, списки и т.п. Redmine поддерживает1 парсер Textile.

Строчные элементы

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

Адреса http(s), ftp и mail автоматически преобразуются в "кликабельные" ссылки:

http://www.redmine.org: http://www.redmine.org

someone@foo.bar: .

Для размещения в ссылке произвольного текста используйте следующую разметку:

"Главная страница проекта Redmine":http://www.redmine.org: Главная страница проекта Redmine.

Акронимы

Ненавязчиво пояснить аббревиатуры в тексте можно следующим образом2:

JPL(Jean-Philippe Lang): JPL.

Стили шрифтов

_italic_: курсив

*_bold italic_*: жирный курсив

+underline+: подчеркнутый

-strike-through-: перечеркнутый

Plain ^superscript^: Верхний индекс

Plain ~subscript~: Нижний индекс

inline @monospace@: моноширинный шрифт

??cite??: цитата

%span%: диапазон

Изображения

Внешние:

!image_url! -- встраивает в текст изображение, находящееся по внешнему адресу image_url.

!>image_url! -- изображение выровнено по правому краю, текст обтекает изображение по левому краю.

Прикрепленные:

!attached_image.png! -- встраивает в текст изображение attached_image.png, прикрепленное к странице (см. предупреждение).

Примеры:
  • !i0003.gif! изображение, причем текст будет продолжен после изображения индеец вот так
  • !>i0003.gif! изображение отображается справа от текста
    индеец

    пример изображения справа от текста
    опять справа от текста
    еще справа от текста
    и тут картинка справа от текста
    а тут текст слева от картинки

Блочные элементы

Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками.

Заголовки

hn. Заголовок n-ного уровня, где n принимает значение от 1 до 6.

Абзацы

p. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

p(. Отступ слева в 1em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

p((. Отступ слева в 2em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Отступ сохраняется для всех следующих без пробела строк.

p>. Выравнивание по правому краю. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

p<. Выравнивание по левому краю (по умолчанию).

p)))>. Выравнивание по правому краю с отступом справа в 3em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Выравнивание и отступ также сохраняется для всего следующего через перенос строки (<br>)
текста.

Выравнивание сбрасывается с введением пустой строки между выровненным блочным элементом и остальным текстом.

p=. Выравнивание по центру. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

p<>. Выравнивание по левому и правому краю. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Pre-форматирование

Внутри выделенного тэгами блока текст не будет преобразован Парсером.

Чтобы избежать преобразования textile-разметки в html-код используйте тэги <pre></pre>.

<pre>Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre>

Цитаты

> "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.

или

bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.

>> Синтаксис textile-ссылки :http://ru.wikipedia.org/wiki/Ruby_on_Rails преобразуется в атрибут cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails".

Вдруг кому пригодится.

Списки

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

Разметка для ненумерованного списка
* Item 1
* Item 2
** Item 2.1

 ** Item 2.1.1
*** Item 2.1.2
** Item 2.2
* Item 3

** Item 0

отображается как:
  • Item 1
  • Item 2
    • Item 2.1
      • Item 2.1.2
    • Item 2.2
  • Item 3
  • Item 2.1.1
  • Item 0
Разметка для нумерованного списка
# Item 1
# Item 2

 ## Item 2.1

  ## Item 2.1.1
## Item 2.2
# Item 3

# Item 0

отображается как:
  1. Item 1
  2. Item 2
    1. Item 2.2
  3. Item 3
  1. Item 2.1
    1. Item 2.1.1
  1. Item 0

Таблицы

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

|_.UserID|_.Name|_.Group|_. attribute list |
|\3=.IT               |<. align left|
|1|Artur Pirozhkov |/2.Users |>. align right|
|2|Vasya Rogov        |=. center |
|3|John Smith |Admin
               (root)|^. valign top |
|4|-          |Nobody
               (anonymous)|~. valign bottom|

Отображается как:
UserID Name Group attribute list
IT align left
1 Artur Pirozhkov Users align right
2 Vasya Rogov center
3 John Smith Admin3
(root)
valign top
4 - Nobody
(anonymous)
valign bottom

Сноски

Сноска:

21 fn21. Поясняющий текст.

Ссылка на сноску4:

Поясняемый текст[21]: Поясняемый текст21

Разделитель

Три дефиса ---, отделенные переносами строк от остального текста, преобразуются в html-тэг <hr>.


Атрибуты

Идентификаторы

p(#id). -- присваивает абзацу идентификатор id.

Пример:

Данный абзац имеет идентификатор id, что может быть использовано, например, для создания ссылки на него.

Классы css

p(class). -- присваивает абзацу класс class.

Пример:

Данный абзац содержит фразу, оформленную в стиле ruby функции.

Ссылки на объекты

Чтобы предотвратить преобразование redmine-разметки в ссылку поставьте перед ней восклицательный знак.

Задачи

#124: #124 -- ссылка перечеркнута, если задача закрыта.

Редакции

r758: r758

Коммиты

commit:c6f4d0fd: commit:c6f4d0fd

Wiki-страницы

Ссылка отображается красной, если страницы не существует: Nonexistent page.

[[Guide]]: Guide

[[Guide|User manual]]: User manual -- ссылка с произвольным текстом.

[[Guide#User-guide|User guide]]: User guide -- ссылка на определенный заголовок страницы.
После символа # в названии заголовка ставятся дефисы вместо пробелов.

[[someproject:some-page]] -- ссылка на wiki-страницу из другого проекта.

[[someproject:]] -- ссылка на главную страницу Wiki другого проекта.

Документы

document#17 -- ссылка на документ по идентификатору.

document:somedocument -- ссылка на документ по названию.

document:"Some document" -- название заключается в двойные кавычки, если в нем есть пробелы.

document:some_project:"Some document" -- ссылка по названию на доукумент в другом проекте.

Версии

version#3 -- ссылка на версию по идентификатору.

version:1.0.0 -- ссылка на версию по названию.

version:"1.0 beta 2" -- название заключается в двойные кавычки, если в нем есть пробелы.

Проекты

project#4 или project:someid -- ссылка на проект по числовому или символьному идентификатору.

project:someproject - ссылка на проект по названию.

project:"Some project" - название заключается в двойные кавычки, если в нем есть пробелы.

Вложения

attachment:i0003.gif: i0003.gif -- ссылка на файл, прикрепленный к данной странице.

Важно: ссылки на прикрепленные файлы действуют только на той странице, к которой они прикреплены.

Репозиторий

source:some/file -- ссылка на файл репозитория.

source:some/file@52 -- ссылка на редакцию файла репозитория.

source:some/file#L120 -- ссылка на строку файла репозитория.

source:some/file@52#L120 -- комбинация разметки.

source:"some file@52#L120" -- двойные кавычки используются, если в URL присутствуют пробелы.

export:some/file -- ссылка на скачивание файла.

E-mail ссылки

В ссылке на e-mail адрес можно указать тему, текст письма и адреса для отправки копий.

"Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar: Email webmaster and admin -- указание адреса для отправки копии.

"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help: Email someone for help -- указание темы письма.

"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20: Email someone for help -- указание текста письма.

Важно: вместо пробелов в ссылку следует вставлять код %20.

Макросы

Список доступных макросов и их описание (по-английски) вызывается макросом {{macro_list}}.

Содержание

{{TOC}} -- отображает содержание страницы, которое формируется автоматически на основе заголовков.
{{>TOC}} -- выравнивание блока содержания по правому краю:

Дочерние страницы

{{child_pages}} -- выводит список ссылок на все дочерние страницы (англ.) данной страницы.
{{child_pages(Foo)}} -- выводит список ссылок для указанной в скобках wiki-страницы Foo.
{{child_pages(Foo, parent=1)}} -- начинает список со ссылки на родительскую страницу.

Пример последнего макроса для данной страницы:

Включение текста

{{include(Foo)}} -- включает в данном месте текста содержимое страницы Foo без каких-либо специальных обозначений.

Пример:

Error executing the include macro (Page not found)

Если включаемой страницы не существует или у пользователя нет к ней доступа, будет выведено сообщение об ошибке.

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

Подсветка кода реализована на CodeRay - скоростной библиотеке, написанной на Ruby. Она поддерживает синтаксис C, C++, CSS, Delphi, Diff, Groovy, HTML, Java, Javascript, JSON, Nitro-XHTML, PHP, Python, RHTML, Ruby, Scheme, SQL, XML и YAML.

Чтобы подсветить код, используйте следующую разметку:

<pre><code class="ruby">
  Place your code here.
</code></pre>

Пример:

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

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

Заключение

Простейшие возможности разметки доступны через кнопки над полем ввода, однако, все варианты оформления применимы к любому тексту в Redmine: задаче, новости, комментарию и т.п.
Историю изменений wiki-страницы можно посмотреть, нажав ссылку "История " вверху справа.
В качестве примера всех перечисленных вариантов разметки можно рассмотреть исходный код данной статьи.

1 Синтаксис Textile поддерживается в Redmine не полностью. В частности, не преобразуются спецсимволы, например, (с) в ©, -- в — и т.п., а также не поддерживается разметка: атрибута {color:red} и блоков bq.., bc. и pre.

2 К сожалению, не работает для кириллицы: ИС(Информационные Системы)

3 Перенос строки в тексте преобразуется парсером в <br>.

4 Ссылка не обрабатывается если отделяется от поясняемой фразы: например [4] или "другой пример"[4].

i0003.gif - индеец (50 KB) Vladimir Vasilkin, 2011-04-12 11:59