RusRedmineTextFormatting » History » Version 71

Version 70 (Lucy Yevseyeva, 2014-06-21 19:57) → Version 71/78 (Lucy Yevseyeva, 2014-06-21 20:00)

p(breadcrumb). [[RusGuide|Руководство]] » [[RusUser_Guide|Руководство пользователя]]

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

{{>TOC}}

Для оформления текстов в описании задач и на wiki-страницах проектов Redmine использует язык разметки "Textile":http://ru.wikipedia.org/wiki/Textile_(%D1%8F%D0%B7%D1%8B%D0%BA_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%82%D0%BA%D0%B8).

p.  

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

p(. *_italic_*: _курсив_

p(. **_bold italic_**: *_жирный курсив_*

p(. *+underline+*: +подчеркнутый+

p(. *-strike-through-*: -перечеркнутый-

p(. *Plain ^superscript^*: ^Верхний^ индекс

p(. *Plain ~subscript~*: ~Нижний~ индекс

p(. *inline @monospace@*: @моноширинный@ шрифт

p(. *??cite??*: ??цитата??

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

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

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

p(. *http://www.redmine.org*: http://www.redmine.org

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

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

h3. E-mail ссылки

p(. *someone@foo.bar*: someone@foo.bar.

В ссылке на 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.

h3. Акронимы

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

p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang).

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

h3. Изображения

+Внешние:+

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

p(. *!image_url(Image title)!* — изображение будет снабжено заголовком.

* встроенное изображение, причем текст будет продолжен после изображения !i0003.gif(Индеец)! вот так, а при наведении курсора на изображение появится текст. Этот текст также появится,если изображение по какой-либо причине недоступно — !i0004.gif(Индеец)! (отображение зависит от браузера)

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

* изображение отображается справа от текста !>i0003.gif!
пример изображения справа от текста
опять справа от текста
еще справа от текста
и тут картинка справа от текста
а тут текст слева от картинки

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

p(. *!attached_image.png!* — встраивает в текст изображение attached_image.png, прикрепленное к странице.

p(. *!{width:50%}attached_image.png!* — задаёт ширину изображения относительно блока, в который его встроили

* !{width:50%}http://www.redmine.org/screenshots/scm_diff.png!

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

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

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

h3. Заголовки

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

<pre>
h1. Заголовок 1

h2=. Заголовок 2 // = выравнивание по центру

h3>. Заголовок 3 // > выравнивание по правому краю
</pre>

Заголовки снабжаются якорями, на которые можно будет давать ссылки (см. раздел [[RusRedmineTextFormatting#Wiki-страницы|Wiki-страницы]]).

Расставленные в тексте заголовки формируют блок "содержания" страницы, который можно встроить на страницу с помощью специального [[RusRedmineTextFormatting#Содержание|макроса]].

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>
---

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>

---

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-код используйте тэги @&#60;pre>&#60;/pre>@.

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

h3. Цитаты

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

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

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

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

<pre>
>> Вдруг кому пригодится.
> bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails
преобразуется парсером в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@
html-тэга <blockquote>
</pre>

>> Вдруг кому пригодится.
> <notextile>bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails</notextile> преобразуется парсером в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@ html-тэга <blockquote>

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

Под элемент списка можно встроить текст, не нарушив нумерации, если поместить его через перенос строки и пробел:

<pre>* Item 1
some text
some text
* Item 2
some text
** Item 2.1
some text
* Item 3
</pre>

# Item 1
some text
some text
# Item 2
some text
## Item 2.1
some text
# Item 3
some text

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
(root)|^. valign top |
|4|- |Nobody
(anonymous)|~. valign bottom|

h3. Сноски

<pre>Поясняемый текст[21]

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

</pre>

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

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

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

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

Redmine позволяет встраивать в тексты ссылка на различные ресурсы (задачи, wiki-страницы, ревизии…).

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

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(. *!attachment:i0003.gif*: attachment:i0003.gif — ссылка на файл, прикрепленный к данной странице; если название файла содержит небуквенные символы, следует взять его в двойные кавычки.

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

h3. Документы

p(. *!document#17* — ссылка на документ по идентификатору.

p(. *!document:somedocument* — ссылка на документ по названию.

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

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

h3. Проекты

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

p(. *!project:someproject* — ссылка на проект по названию.

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

h3. Задачи

p(. *!#3177*: #3177 — ссылка перечеркнута, если задача закрыта.

p(. *!#3177-9*: #3177-9 — ссылка на комментарий к задаче.

h3. Версии

p(. *!version#3* — ссылка на версию по идентификатору.

p(. *!version:1.0.0* — ссылка на версию по названию.

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

h3. Изменения

В зависимости от типа хэша изменений, используемого вашим репозитарием:

p(. *!r758* или *commit:c6f4d0fd*: r758 — редакция

p(. *!svn1|r758* или *commit:hg|c6f4d0fd*: ссылка на редакцию в определенном репозитарии

p(. *!sandbox:r758* или *sandbox:commit:c6f4d0fd*: ссылка на редакцию в другом проекте

h3. Файлы репозитория

p(. *!source:some/file* — ссылка на файл репозитория.

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

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

p(. *!source:some/file@52#L120* — комбинация разметки.

p(. *!source:repo_identifier|some/file* — ссылка на репозиторий не по умолчанию.

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

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

h3. Форумы

p(. *!forum#2*: ссылка на форум по идентификатору.

P(. *!forum:Discussion*: ссылка на форум по названию.

P(. *!forum:"Help and more"*: двойные кавычки используются, если в названии есть пробелы.

p(. *!message#1218*: ссылка на сообщение по идентификатору.

h3. Новости

p(. *!news#1*: ссылка на новость по идентификатору.

p(. *!news:Greetings*: ссылка на новость по названию.

p(. *!news:"eCookbook first release !"*: двойные кавычки используются, если в названии есть пробелы.

h2. Макросы

Список доступных макросов и их описание (по-английски) вызывается следующим макросом:
<pre>
{{macro_list}}
</pre>

h3. Содержание

Отображает блок "содержание" страницы, который формируется автоматически на основе выставленных в тексте [[RusRedmineTextFormatting#Заголовки|заголовков]]:

<pre>
{{TOC}}

{{>TOC}} // блок справа
</pre>

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

Выводит список ссылок на все "дочерние страницы":http://www.redmine.org/projects/redmine/wiki/RedmineWikis#Creating-sub-pages-parentchild-relationships (англ.) для +текущей+ страницы:

<pre>
{{child_pages}}
</pre>

---

Выводит список дочерних страниц для любой страницы:

<pre>
{{child_pages(RedmineIssues)}}
</pre>

Пример:

{{child_pages(RedmineIssues)}}

---

Начинает список со ссылки на страницу:

<pre>
{{child_pages(RedmineIssues, parent=1)}}
</pre>

Пример:

{{child_pages(RedmineIssues, parent=1)}}

---

Выводит дочерние страницы заданной глубины вложенности:

<pre>
{{child_pages(RedmineIssues, depth=2)}}
</pre>

{{child_pages(RedmineIssues, depth=2)}}

---

<pre>
{{child_pages(RedmineIssues, depth=1, parent=1)}}
</pre>

{{child_pages(RedmineIssues, depth=1, parent=1)}}

---

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

Выводит содержимое указанной страницы:

<pre>

{{include(PMO)}}

</pre>

Пример (для удобства включение обрамлено горизонтальными разделителями "---" )

---

{{include(PMO)}}

---

Если включаемая страница не найдена или у текущего пользователя нет доступа на её просмотр, будет выведено сообщение об ошибке:
{{include(Foo)}}

h3. Свёрнутый блок

<pre>
{{collapse(Осторожно, спойлер!)
Всех убил адвокат.
}}
</pre>

{{collapse(Осторожно, спойлер!)
Всех убил адвокат.
}}



h3. Предпросмотр изображения

Выводит блок шириной 100 px для предварительного просмотра прикрепленного изображения:

<pre>
{{thumbnail(http://www.redmine.org/screenshots/scm_diff.png)}}
{{thumbnail(scm_diff.png)}}
</pre>

Можно задать ширину блока и всплывающую подсказку:

<pre>
{{thumbnail(scm_diff.png,
{{thumbnail(http://www.redmine.org/screenshots/scm_diff.png, size=300, title=Thumbnail)}}
</pre>


{{thumbnail(scm_diff.png, size=300, title=Thumbnail)}}

h2. CSS

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

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

Пример:

p((#id). Данный абзац имеет идентификатор id (якорь), что может быть использовано, например, для создания [[RedmineTextFormattingRus#id|ссылки]] на него без использования заголовков.

h3. Классы

p(. *p(class_name).* — присваивает абзацу класс.

p(. *&#37;(class_name)span_content%* — присваивает диапазону класс.

Примеры:

p((breadcrumb). Хлебные крошки [[Guide|Руководство »]] [[User Guide|Руководство пользователя »]]

%(wiki_page-21-watcher icon icon-fav) Избранное%

h3. Стили

*<notextile>%</notextile>{background:lightgreen}Зеленый фон%* — %{background:lightgreen}Зеленый фон%

*<notextile>%</notextile>{text-decoration:overline}"Надчеркивание"%* — %{text-decoration:overline}"Надчеркивание"%

Комбинирование стилей:

*<notextile>%</notextile>{background:silver;color:black;border-style:outset;padding:5px}Отмена%* — *%{background:silver;color:black;border-style:outset;padding:5px}Отмена%*

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. Экранирование

Чтобы парсер не обрабатывал символы как textile-разметку, их следует поместить в экранирующие тэги:
|_.Input |_. Output|
|*<notextile><notextile>|</notextile></notextile>*|<notextile>|</notextile>|

h2. Заключение

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

---

p(breadcrumbs). Переведено и дополнено [[RedmineTextFormatting|Wiki formatting v.101]]

---