RusRedmineTextFormatting » History » Revision 5
Revision 4 (Lucy Yevseyeva, 2011-09-04 18:00) → Revision 5/78 (Lucy Yevseyeva, 2011-09-04 18:04)
p(breadcrumb). [[RusGuide|Руководство]] » [[RusUser_Guide|Руководство пользователя]]
Оригинал: [[RedmineTextFormatting|Wiki formatting v.63]] - дополнено и переработано.
h1. Оформление текстов
{{>TOC}}
Для таких вещей как заголовки, выделение текста, таблицы, списки и т.п. Redmine поддерживает[1] парсер "Textile":http://textile.thresholdstate.com.
h2. Строчные элементы
h3. Внешние ссылки
Адреса http(s), ftp и mail автоматически преобразуются в "кликабельные" ссылки:
p(. *http://www.redmine.org*: http://www.redmine.org
p(. *someone@foo.bar*: someone@foo.bar.
Для размещения в ссылке произвольного текста используйте следующую разметку:
p(. *"Главная страница проекта Redmine":http://www.redmine.org*: "Главная страница проекта Redmine":http://www.redmine.org.
h3. Акронимы
Ненавязчиво пояснить аббревиатуры в тексте можно следующим образом[2]:
p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang).
h3. Стили шрифтов
p(. *_italic_*: _курсив_
p(. **_bold italic_**: *_жирный курсив_*
p(. *+underline+*: +подчеркнутый+
p(. *-strike-through-*: -перечеркнутый-
p(. *Plain ^superscript^*: ^Верхний^ индекс
p(. *Plain ~subscript~*: ~Нижний~ индекс
p(. *inline @monospace@*: @моноширинный@ шрифт
p(. *??cite??*: ??цитата??
p(. *%span%*: %диапазон%
h3. Изображения
Внешние:
p(. *!image_url!* -- встраивает в текст изображение, находящееся по внешнему адресу image_url.
p(. *!>image_url!* -- изображение выровнено по правому краю, текст обтекает изображение по левому краю.
Прикрепленные:
p(. *!attached_image.png!* -- встраивает в текст изображение attached_image.png, прикрепленное к странице (см. [[RedmineTextFormattingRus#attach|предупреждение]]).
Примеры:
* *!i0003.gif!* изображение, причем текст будет продолжен после изображения !i0003.gif! вот так
* *!>i0003.gif!* изображение отображается справа от текста !>i0003.gif!
пример изображения справа от текста
опять справа от текста
еще справа от текста
и тут картинка справа от текста
а тут текст слева от картинки
h2. Блочные элементы
Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками.
h3. Заголовки
p(. *hn.* Заголовок n-ного уровня, где _n_ принимает значение от 1 до 6.
h3. Абзацы
p. *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(.* Отступ слева в 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((. *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>. *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<.* Выравнивание по левому краю (по умолчанию).
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=. *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<>.* Выравнивание по левому и правому краю. 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.
h3. Pre-форматирование
> Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].
Чтобы избежать преобразования textile-разметки в html-код используйте тэги @<pre></pre>@.
<pre><pre>Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre></pre>
h3. Цитаты
> *>* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
или
bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails *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"@.
>>> Вдруг кому пригодится.
h3. Списки
Обратите внимание на то, как работает вложенность элементов при вставке пустой строки между ними.
Вложенность сохраняется при наличие отступа у последующего элемента списка и сбрасывается - без отступа.
Разметка для ненумерованного списка
<pre>* Item 1
* Item 2
** Item 2.1
** Item 2.1.1
*** Item 2.1.2
** Item 2.2
* Item 3
** Item 0
</pre>
отображается как:
* Item 1
* Item 2
** Item 2.1
** Item 2.1.1
*** Item 2.1.2
** Item 2.2
* Item 3
** Item 0
Разметка для нумерованного списка
<pre># Item 1
# Item 2
## Item 2.1
## Item 2.1.1
## Item 2.2
# Item 3
# Item 0
</pre>
отображается как:
# Item 1
# Item 2
## Item 2.1
## Item 2.1.1
## Item 2.2
# Item 3
# Item 0
h3. Таблицы
Любое количество пустых символов будет заменено одним пробелом, поэтому для удобства разметки можно использовать текстовый редактор и табуляцию.
<pre>
|_.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|
</pre>
Отображается как:
|_.UserID|_.Name|_.Group|_. attribute list |
|\3=.IT |<. align left|
|1|Artur Pirozhkov |/2.Users |>. align right|
|2|Vasya Rogov |=. center |
|3|John Smith |Admin[3]
(root)|^. valign top |
|4|- |Nobody
(anonymous)|~. valign bottom|
h3. Сноски
Сноска:
fn21. *fn21.* Поясняющий текст.
Ссылка на сноску[4]:
p(. *Поясняемый текст[21]*: Поясняемый текст[21]
h2. Атрибуты
h3. Идентификаторы
p(. *p(#id).* -- присваивает абзацу идентификатор id.
Пример:
p((#id). Данный абзац имеет идентификатор id, что может быть использовано, например, для создания [[RedmineTextFormattingRus#id|ссылки]] на него.
h3. Классы css
p(. *p(class).* -- присваивает абзацу класс class.
Пример:
p((ruby syntaxhl). Данный абзац содержит фразу, оформленную в стиле %(fu)ruby функции.%
h2. Ссылки на объекты
Чтобы предотвратить преобразование redmine-разметки в ссылку поставьте перед ней восклицательный знак.
h3. Задачи
p(. *!#124*: #124 -- ссылка перечеркнута, если задача закрыта.
h3. Редакции
p(. *!r758*: r758
h3. Коммиты
p(. *commit:c6f4d0fd*: commit:c6f4d0fd
h3. Wiki-страницы
Ссылка отображается красной, если страницы не существует: [[Nonexistent page]].
p(. *[[Guide]]*: [[Guide]]
p(. *[[Guide|User manual]]*: [[Guide|User manual]] -- ссылка с произвольным текстом.
p(. *[[Guide#User-guide|User guide]]*: [[Guide#User-guide|User guide]] -- ссылка на определенный заголовок страницы.
_После символа # в названии заголовка ставятся дефисы вместо пробелов._
p(. *[[someproject:some-page]]* -- ссылка на wiki-страницу из другого проекта.
p(. *[[someproject:]]* -- ссылка на главную страницу Wiki другого проекта.
h3. Документы
p(. *!document#17* -- ссылка на документ по идентификатору.
p(. *!document:somedocument* -- ссылка на документ по названию.
p(. *!document:"Some document"* -- название заключается в двойные кавычки, если в нем есть пробелы.
p(. *!document:some_project:"Some document"* -- ссылка по названию на доукумент в другом проекте.
h3. Версии
p(. *!version#3* -- ссылка на версию по идентификатору.
p(. *!version:1.0.0* -- ссылка на версию по названию.
p(. *!version:"1.0 beta 2"* -- название заключается в двойные кавычки, если в нем есть пробелы.
h3. Проекты
p(. *project#4* или *!project:someid* -- ссылка на проект по числовому или символьному идентификатору.
p(. *!project:someproject* - ссылка на проект по названию.
p(. *!project:"Some project"* - название заключается в двойные кавычки, если в нем есть пробелы.
h3. Вложения
p(. *!attachment:i0003.gif*: attachment:i0003.gif -- ссылка на файл, прикрепленный к данной странице.
p((#attach). _*Важно*_: ссылки на прикрепленные файлы действуют только на той странице, к которой они прикреплены.
h3. Репозиторий
p(. *!source:some/file* -- ссылка на файл репозитория.
p(. *!source:some/file@52* -- ссылка на редакцию файла репозитория.
p(. *!source:some/file#L120* -- ссылка на строку файла репозитория.
p(. *!source:some/file@52#L120* -- комбинация разметки.
p(. *!source:"some file@52#L120"* -- двойные кавычки используются, если в URL присутствуют пробелы.
p(. *!export:some/file* -- ссылка на скачивание файла.
h2. E-mail ссылки
В ссылке на e-mail адрес можно указать тему, текст письма и адреса для отправки копий.
p(. *"Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar*: "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar -- указание адреса для отправки копии.
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help -- указание темы письма.
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20 -- указание текста письма.
p(. _*Важно_:* вместо пробелов в ссылку следует вставлять код %20.
h2. Макросы
Список доступных макросов и их описание (по-английски) вызывается макросом *{{macro_list}}*.
{{>TOC}}
h3. Содержание
*{{TOC}}* -- отображает содержание страницы, которое формируется автоматически на основе [[RedmineTextFormattingRus#Заголовки|заголовков]].
*{{>TOC}}* -- выравнивание блока содержания по правому краю:
h3. Дочерние страницы
*{{child_pages}}* -- выводит список ссылок на все "дочерние страницы":http://www.redmine.org/projects/redmine/wiki/RedmineWikis#Creating-sub-pages-parentchild-relationships (англ.) данной страницы.
*{{child_pages(Foo)}}* -- выводит список ссылок для указанной в скобках wiki-страницы [[Foo]].
*{{child_pages(Foo, parent=1)}}* -- начинает список со ссылки на родительскую страницу.
Пример последнего макроса для страницы [[Teams]]:
{{child_pages(Teams, parent=1)}}
h3. Включение текста
*{{include(Foo)}}* -- включает в данном месте текста содержимое страницы [[Foo]] без каких-либо специальных обозначений.
Пример:
{{include(Foo)}}
Если включаемой страницы не существует или у пользователя нет к ней доступа, будет выведено сообщение об ошибке.
h2. Подсветка кода
Подсветка кода реализована на "CodeRay":http://coderay.rubychan.de/ - скоростной библиотеке, написанной на Ruby. Она поддерживает синтаксис C, C++, CSS, Delphi, Diff, Groovy, HTML, Java, Javascript, JSON, Nitro-XHTML, PHP, Python, RHTML, Ruby, Scheme, SQL, XML и YAML.
Чтобы подсветить код, используйте следующую разметку:
<pre><code><pre><code class="ruby">
Place your code here.
</code></pre>
</code></pre>
Пример:
<pre><code class="ruby">
# The Greeter class
class Greeter
def initialize(name)
@name = name.capitalize
end
def salute
puts "Hello #{@name}!"
end
end
</code></pre>
h2. Заключение
Простейшие возможности разметки доступны через кнопки над полем ввода, однако, все варианты оформления применимы к любому тексту в Redmine: задаче, новости, комментарию и т.п.
Историю изменений wiki-страницы можно посмотреть, нажав ссылку "История " вверху справа.
В качестве примера всех перечисленных вариантов разметки можно рассмотреть исходный код данной статьи.
fn1. Синтаксис Textile поддерживается в Redmine не полностью. В частности, не преобразуются спецсимволы, например, (с) в ©, -- в — и т.п., а также не поддерживается разметка: атрибута {color:red} и блоков bq.., bc. и pre.
fn2. К сожалению, не работает для кириллицы: ИС(Информационные Системы)
fn3. Перенос строки в тексте преобразуется парсером в @<br>@.
fn4. Ссылка не обрабатывается если отделяется от поясняемой фразы: например [4] или "другой пример"[4].