RusRedmineTextFormatting » History » Revision 3
Revision 2 (Denis Savitskiy, 2011-06-30 15:59) → Revision 3/78 (Lucy Yevseyeva, 2011-09-04 16:38)
[[RusGuide|Руководство]] h1. Оформление текстов Форматирование текста в Redmine {{>TOC}} {{>toc}} Для таких вещей как заголовки, выделение текста, таблицы, списки и т.п. Redmine поддерживает[1] парсер "Textile":http://textile.thresholdstate.com. h2. Строчные элементы Ссылки h3. Внешние Redmine ссылки Адреса http(s), ftp Redmine позволяет гиперссылок между вопросами, изменений и mail автоматически преобразуются вики-страниц из любого вики-форматирование используется. * Ссылка на задачу: *!#5* (отображается #5 , ссылка может быть зачеркнутой, если задача закрыта) * Ссылка на набор изменений (ревизию): *!r758* (отображается r758) * Ссылка на набор изменений с ненумерованных хэшем: *commit:c6f4d0fd* (отображается c6f4d0fd). Добавлено в "кликабельные" ссылки: r1236. p(. *http://www.redmine.org*: http://www.redmine.org Вики-ссылки: p(. *someone@foo.bar*: someone@foo.bar. Для размещения * *[[Руководство пользователя]]* отображается ссылка на страницу с именем "Руководство пользователя": [[Руководство пользователя]] * *[[Руководство пользователя|Особое руководство пользователя]]* отображает ссылку на ту же страницу, но с другим текстом: [[Руководство пользователя|Особое руководство пользователя]] * *[[Руководство пользователя#Форматирование текста в ссылке произвольного Redmine|Особое руководство пользователя]]* показывает ссылку на заголовок на тойже странице с другим текстом: [[Руководство пользователя#Форматирование текста используйте следующую разметку: в Redmine|Особое руководство пользователя]] p(. *"Главная страница Вы можете также ссылаться на страницы вики другого проекта: * *[[sandbox:some page]]* отображается ссылка на страницу с именем "some page" из вики проекта Redmine":http://www.redmine.org*: "Главная sandbox * *[[sandbox:]]* отображается ссылка на главную страницу вики проекта sandbox Вики-ссылки отображаются красным цветом, если страница проекта Redmine":http://www.redmine.org. еще не существует, например: [[несуществующая страница]]. h3. Акронимы Ссылки на другие ресурсы: Ненавязчиво пояснить аббревиатуры * Документы: * *!document#17* (ссылка на документ с идентификатором 17) * *!document:Greetings* (ссылка на документ с названием "Greetings") * *!document:"Some document"* (двойные кавычки можно использовать, когда название документа содержит пробелы) * *!document:some_project:"Some document"* (ссылка на документ в тексте можно следующим образом[2]: другом проекте) p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang). * Версии: * *!version#3* (ссылка на версию с идентификатором 3) * *!version:1.0.0* (ссылка на версию под названием "1.0.0") * *!version:"1.0 beta 2"* h3. Стили шрифтов * Проекты: * *project#<id>* (ссылка на проект с <id>) * *!project:<identifier>* * *!project:<name>* p(. *_italic_*: _курсив_ * Вложения: * *!attachment:file.zip* (ссылка на вложение текущего объекта с именем file.zip) * Пока, можно ссылаться на вложеня в текущем объекта(если вы редактируете задачу, можно ссылаться на вложения только данной задачи) p(. **_bold italic_**: *_жирный курсив_* * Хранилище файлов * *!source:где-нибудь/файл* - Ссылка на файл, расположенный в "/где-нибудь/файл" в репозитории проекта * *!source:где-нибудь/файл@52* - Ссылка на файл ревизии 52 * *!source:где-нибудь/файл#L120* - Ссылка на линию 120 из файла * *!source:где-нибудь/файл@52#L120* - Ссылка на линии 120 из файла ревизии 52 * *!source:"где-нибудь файл@52#L120"* - Двойные кавычки могут быть использованы если URL содержит пробелы * *!export:где-нибудь/файл* - Ссылка на загрузку указанного файла p(. *+underline+*: +подчеркнутый+ Экранирование: p(. *-strike-through-*: -перечеркнутый- Вы можете предотвратить обрабатку ссылок Redmine-ом, если поставить перед ними восклицательный знак: ! Например: <pre> !document#17 </pre> p(. *Plain ^superscript^*: ^Верхний^ индекс h3. Внешние ссылки p(. *Plain ~subscript~*: ~Нижний~ индекс HTTP URL-адреса и адреса электронной почты автоматически преобразуется в активные ссылки: * *http://www.redmine.org* - Внешняя ссылка на сайт Redmine: http://www.redmine.org * *someone@foo.bar* - Ссылка на адрес электронной почты: someone@foo.bar p(. *inline @monospace@*: @моноширинный@ шрифт Взамен HTTP URL-адресам и адресам электронной почты можно также использовать другой текст, чем саму ссылку: * *"Redmine веб-сайт":http://www.redmine.org* - Внешние ссылки с другим текстом: "Redmine веб-сайт":http://www.redmine.org * *"Email someone":mailto:someone@foo.bar* - Ссылка на адрес электронной почты с другим текстом: "Email someone":mailto:someone@foo.bar p(. *??cite??*: ??цитата?? Более сложные инструкции для отправки электронной почты могут быть добавлены к ссылке на электронную почту. Могут быть переопределены: тема, содержание и адреса для копий письма. Обратите внимание, что пробелы в любом из этих полей должны быть заменены на %20. * *"Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar* - Письмо вебмастеру, копия администратору: "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar * *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help*- отправить письмо на тему "Website Help": "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help * *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20* - отправить письмо на тему "Website Hel", с нужным содержанием: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20 p(. *%span%*: %диапазон% h2. Форматирование текста Для таких вещей, как заголовки, жирное выделение, таблицы, списки, Redmine поддерживает синтаксис Textile. См. http://www.textism.com/tools/textile/ для справке об использованию этих возможностей. Несколько примеров приведены ниже, но движок обладает большими возможностями. h3. Изображения Аббревиатура Внешние: <pre> JPL(Jean-Philippe Lang) </pre> p(. *!image_url!* -- встраивает в текст изображение, находящееся по внешнему адресу image_url. Выглядит: p(. *!>image_url!* -- изображение выровнено по правому краю, текст обтекает изображение по левому краю. JPL(Jean-Philippe Lang) Прикрепленные: h3. Стиль шрифта p(. *!attached_image.png!* -- встраивает в текст изображение attached_image.png, прикрепленное к странице (см. [[RedmineTextFormattingRus#attach|предупреждение]]). Примеры: <pre><code>* *жирным* * *!i0003.gif!* изображение, причем текст будет продолжен после изображения !i0003.gif! вот так _курсивом_ * *!>i0003.gif!* изображение отображается справа от текста !>i0003.gif! *_жирным курсивом_* пример изображения справа от текста * +подчеркивание+ опять справа от текста * -зачеркивание- еще справа от текста * Верхний ^индекс^ и тут картинка справа от текста * Нижний ~индекс~ а тут текст слева от картинки </code></pre> h2. Блочные элементы Выглядит: * *жирным* * _курсивом_ * *_жирным курсивом_* * +подчеркивание+ * -зачеркивание- * Верхний ^индекс^ * Нижний ~индекс~ Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками. h3. Встроенные изображения * *!image_url!* отображает изображение, привязанное к странице текущего объекта * *!>image_url!* изображение, выравненное по правому краю Если у вас есть изображение, связанное с вашей вики-страницей, его можно показать, используя имя файла: *!attached_image.png!* h3. Заголовки p(. *hn.* <pre><code>h1. Заголовок n-ного уровня, где _n_ принимает значение от 1 до 6. h2. Подзаголовок h3. Подзаголовок </code></pre> 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>.* Выравнивание <pre><code>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=. Этот параграф выровнен по левому краю (по умолчанию). центру </code></pre> 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-форматирование Предопределенный > Внутри выделенного *тэгами* блока Чтобы избежать принудительного форматирования необходиом использовать синтаксис: <pre> <pre> *Ваш текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]]. станет жирным* </pre> </pre> Чтобы избежать преобразования textile-разметки в html-код используйте тэги @<pre></pre>@. <pre><pre>Внутри выделенного *тэгами* блока Выглядит: <pre> *Ваш текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre></pre> станет жирным* </pre> h3. Цитаты > *>* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Начните параграф с *bq.* <pre><code>bq. Redmine is a flexible project management web application. Written using Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных. или framework, it is cross-platform and cross-database. </code></pre> bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails *bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Выглядит: bq. Redmine is a flexible project management web application. Written using Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных. framework, it is cross-platform and cross-database. >> *>>* Синтаксис textile-ссылки @:http://ru.wikipedia.org/wiki/Ruby_on_Rails@ преобразуется в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@. >>> Вдруг кому пригодится. h3. Списки Маркированный список Обратите внимание на то, как работает вложенность элементов при вставке пустой строки между ними. <pre> Вложенность сохраняется при наличие отступа у последующего элемента списка и сбрасывается - без отступа. Разметка для ненумерованного списка <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 h3. Упорядоченные списки Разметка для нумерованного списка <pre> <pre># Item # Пункт 1 # Item Пункт 2 ## Item Пункт 2.1 ## Item ### Пункт 2.1.1 ### Пункт 2.1.2 ## Item Пункт 2.2 # Item Пункт 3 # Item 0 </pre> отображается как: Выглядит: # Item Пункт 1 # Item Пункт 2 ## Item Пункт 2.1 ## Item ### Пункт 2.1.1 ### Пункт 2.1.2 ## Item Пункт 2.2 # Item Пункт 3 # Item 0 h3. Таблицы Любое количество пустых символов будет заменено одним пробелом, поэтому для удобства разметки можно использовать текстовый редактор и табуляцию. <pre> |_.UserID|_.Name|_.Group|_. attribute list | |_.UserID|_.Name|_.Group| |\3=.IT |<. align left| |\3=.IT| |1|Artur Pirozhkov |/2.Users |>. align right| Pirozhkov|/2.Users| |2|Vasya Rogov |=. center | Rogov| |3|John Smith |Admin (root)|^. valign top | Smith|Admin| |4|- |Nobody (anonymous)|~. valign bottom| </pre> Отображается как: Выглядит: |_.UserID|_.Name|_.Group| |_.UserID|_.Name|_.Group|_. attribute list | |\3=.IT| |\3=.IT |<. align left| |1|Artur Pirozhkov |/2.Users |>. align right| Pirozhkov|/2.Users| |2|Vasya Rogov |=. center | Rogov| |3|John Smith |Admin[3] (root)|^. valign top | |4|- |Nobody (anonymous)|~. valign bottom| Smith|Admin| 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* -- ссылка на документ <pre><code>{{toc}} => выровнено по идентификатору. 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}}* -- выравнивание блока содержания {{>toc}} => выровнено по правому краю: краю </code></pre> 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)}}* -- начинает список со ссылки на родительскую страницу. Redmine имеет следующие встроенные макросы: Пример последнего макроса для страницы [[Teams]]: {{child_pages(Teams, parent=1)}} {{macro_list}} h3. Включение текста *{{include(Foo)}}* -- включает в данном месте текста содержимое страницы [[Foo]] без каких-либо специальных обозначений. Пример: {{include(Foo)}} Если включаемой страницы не существует или у пользователя нет к ней доступа, будет выведено сообщение об ошибке. h2. Подсветка кода Подсветка кода реализована основывается на "CodeRay":http://coderay.rubychan.de/ - скоростной библиотеке, , быстро работающей библиотеке подсветки синтаксиса, полностью написанной на Ruby. Она В настоящее время она поддерживает синтаксис C, C++, C + +, CSS, Delphi, Diff, Groovy, HTML, Java, Javascript, JavaScript, JSON, Nitro-XHTML, нитро-XHTML, PHP, Python, RHTML, Ruby, Scheme, SQL, XML и YAML. 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].