Project

General

Profile

RusRedmineTextFormatting » History » Version 7

Lucy Yevseyeva, 2014-06-21 15:19

1 5 Lucy Yevseyeva
p(breadcrumb). [[RusGuide|Руководство]] » [[RusUser_Guide|Руководство пользователя]]
2
3 7 Lucy Yevseyeva
Оригинал: [[RedmineTextFormatting|Wiki formatting v.101]] - дополнено и переработано.
4 4 Lucy Yevseyeva
5 3 Lucy Yevseyeva
h1. Оформление текстов
6 1 Ruslan Khasanov
7 3 Lucy Yevseyeva
{{>TOC}}
8 1 Ruslan Khasanov
9 3 Lucy Yevseyeva
Для таких вещей как заголовки, выделение текста, таблицы, списки и т.п. Redmine поддерживает[1] парсер "Textile":http://textile.thresholdstate.com.
10 1 Ruslan Khasanov
11 3 Lucy Yevseyeva
h2. Строчные элементы
12 1 Ruslan Khasanov
13 3 Lucy Yevseyeva
h3. Внешние ссылки
14 1 Ruslan Khasanov
15 3 Lucy Yevseyeva
Адреса http(s), ftp и mail автоматически преобразуются в "кликабельные" ссылки:
16 1 Ruslan Khasanov
17 3 Lucy Yevseyeva
p(. *http://www.redmine.org*:  http://www.redmine.org
18 1 Ruslan Khasanov
19 3 Lucy Yevseyeva
Для размещения в ссылке произвольного текста используйте следующую разметку:
20 1 Ruslan Khasanov
21
p(. *"Главная страница проекта Redmine":http://www.redmine.org*: "Главная страница проекта Redmine":http://www.redmine.org.
22
23 7 Lucy Yevseyeva
h3. E-mail ссылки
24
25
p(. *someone@foo.bar*: someone@foo.bar.
26
27
В ссылке на e-mail адрес можно указать тему, текст письма и адреса для отправки копий.
28
29
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 -- указание адреса для отправки копии.
30
31
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help -- указание темы письма.
32
33
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 -- указание текста письма.
34
35
p(. _*Важно_:* вместо пробелов в ссылку следует вставлять код %20.
36 3 Lucy Yevseyeva
h3. Акронимы
37 1 Ruslan Khasanov
38 3 Lucy Yevseyeva
Ненавязчиво пояснить аббревиатуры в тексте можно следующим образом[2]:
39 1 Ruslan Khasanov
40 3 Lucy Yevseyeva
p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang).
41 1 Ruslan Khasanov
42 3 Lucy Yevseyeva
h3. Стили шрифтов
43 1 Ruslan Khasanov
44 3 Lucy Yevseyeva
p(. *_italic_*: _курсив_
45 1 Ruslan Khasanov
46 3 Lucy Yevseyeva
p(. **_bold italic_**: *_жирный курсив_*
47 1 Ruslan Khasanov
48 3 Lucy Yevseyeva
p(. *+underline+*: +подчеркнутый+
49 1 Ruslan Khasanov
50 3 Lucy Yevseyeva
p(. *-strike-through-*: -перечеркнутый-
51 1 Ruslan Khasanov
52 3 Lucy Yevseyeva
p(. *Plain ^superscript^*: ^Верхний^ индекс
53 1 Ruslan Khasanov
54 3 Lucy Yevseyeva
p(. *Plain ~subscript~*: ~Нижний~ индекс
55 1 Ruslan Khasanov
56 3 Lucy Yevseyeva
p(. *inline @monospace@*: @моноширинный@ шрифт
57 1 Ruslan Khasanov
58 3 Lucy Yevseyeva
p(. *??cite??*: ??цитата??
59 1 Ruslan Khasanov
60 3 Lucy Yevseyeva
p(. *%span%*: %диапазон%
61 1 Ruslan Khasanov
62 3 Lucy Yevseyeva
h3. Изображения
63 1 Ruslan Khasanov
64 3 Lucy Yevseyeva
Внешние:
65 1 Ruslan Khasanov
66 3 Lucy Yevseyeva
p(. *!image_url!* -- встраивает в текст изображение, находящееся по внешнему адресу image_url.
67 1 Ruslan Khasanov
68 3 Lucy Yevseyeva
p(. *!>image_url!* -- изображение выровнено по правому краю, текст обтекает изображение по левому краю.
69 1 Ruslan Khasanov
70 3 Lucy Yevseyeva
Прикрепленные:
71 1 Ruslan Khasanov
72 3 Lucy Yevseyeva
p(. *!attached_image.png!* -- встраивает в текст изображение attached_image.png, прикрепленное к странице (см. [[RedmineTextFormattingRus#attach|предупреждение]]).
73 1 Ruslan Khasanov
74 3 Lucy Yevseyeva
Примеры:
75
* *!i0003.gif!* изображение, причем текст будет продолжен после изображения !i0003.gif! вот так
76
* *!>i0003.gif!* изображение отображается справа от текста !>i0003.gif!
77
пример изображения справа от текста
78
опять справа от текста
79
еще справа от текста
80
и тут картинка справа от текста
81
а тут текст слева от картинки
82 1 Ruslan Khasanov
83 3 Lucy Yevseyeva
h2. Блочные элементы
84 1 Ruslan Khasanov
85 3 Lucy Yevseyeva
Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками.
86 1 Ruslan Khasanov
87 3 Lucy Yevseyeva
h3. Заголовки
88 1 Ruslan Khasanov
89 3 Lucy Yevseyeva
p(. *hn.* Заголовок n-ного уровня, где _n_ принимает значение от 1 до 6.
90 1 Ruslan Khasanov
91 3 Lucy Yevseyeva
h3. Абзацы
92 1 Ruslan Khasanov
93 3 Lucy Yevseyeva
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.
94 1 Ruslan Khasanov
95 3 Lucy Yevseyeva
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.
96 1 Ruslan Khasanov
97 3 Lucy Yevseyeva
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.
98
Отступ сохраняется для всех следующих без пробела строк.
99 1 Ruslan Khasanov
100 3 Lucy Yevseyeva
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.
101 1 Ruslan Khasanov
102 3 Lucy Yevseyeva
p<. *p<.* Выравнивание по левому краю (по умолчанию).
103 1 Ruslan Khasanov
104 3 Lucy Yevseyeva
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.
105
_Выравнивание и отступ также сохраняется для всего следующего через перенос строки (@<br>@)
106
 текста._
107 1 Ruslan Khasanov
108 3 Lucy Yevseyeva
_Выравнивание сбрасывается с введением пустой строки между выровненным блочным элементом и остальным текстом._
109 1 Ruslan Khasanov
110 3 Lucy Yevseyeva
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.
111 1 Ruslan Khasanov
112 3 Lucy Yevseyeva
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.
113 1 Ruslan Khasanov
114 3 Lucy Yevseyeva
h3. Pre-форматирование
115 1 Ruslan Khasanov
116 3 Lucy Yevseyeva
> Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].
117 1 Ruslan Khasanov
118 3 Lucy Yevseyeva
Чтобы избежать преобразования textile-разметки в html-код используйте тэги @&#60;pre>&#60;/pre>@.
119 1 Ruslan Khasanov
120 3 Lucy Yevseyeva
<pre><pre>Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre></pre>
121 1 Ruslan Khasanov
122
h3. Цитаты
123
124 3 Lucy Yevseyeva
> *&#62;* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
125
 или
126 1 Ruslan Khasanov
127 3 Lucy Yevseyeva
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 (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
128 1 Ruslan Khasanov
129 3 Lucy Yevseyeva
>> *&#62;&#62;* Синтаксис textile-ссылки @:http://ru.wikipedia.org/wiki/Ruby_on_Rails@ преобразуется в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@.
130 1 Ruslan Khasanov
131 3 Lucy Yevseyeva
>>> Вдруг кому пригодится.
132 1 Ruslan Khasanov
133 3 Lucy Yevseyeva
h3. Списки
134 1 Ruslan Khasanov
135 3 Lucy Yevseyeva
Обратите внимание на то, как работает вложенность элементов при вставке пустой строки между ними.
136
Вложенность сохраняется при наличие отступа у последующего элемента списка и сбрасывается - без отступа.
137
138
Разметка для ненумерованного списка
139
<pre>* Item 1
140
* Item 2
141
** Item 2.1
142
143
 ** Item 2.1.1
144
*** Item 2.1.2
145
** Item 2.2
146
* Item 3
147
148
** Item 0
149 1 Ruslan Khasanov
</pre>
150 3 Lucy Yevseyeva
отображается как:
151
* Item 1
152
* Item 2
153
** Item 2.1
154 1 Ruslan Khasanov
155 3 Lucy Yevseyeva
 ** Item 2.1.1
156
*** Item 2.1.2
157
** Item 2.2
158
* Item 3
159 1 Ruslan Khasanov
160 3 Lucy Yevseyeva
** Item 0
161 1 Ruslan Khasanov
162 3 Lucy Yevseyeva
Разметка для нумерованного списка
163
<pre># Item 1
164
# Item 2
165 1 Ruslan Khasanov
166 3 Lucy Yevseyeva
 ## Item 2.1
167
168
  ## Item 2.1.1
169
## Item 2.2
170
# Item 3
171
172
# Item 0
173 1 Ruslan Khasanov
</pre>
174 3 Lucy Yevseyeva
отображается как:
175
# Item 1
176
# Item 2
177 1 Ruslan Khasanov
178 3 Lucy Yevseyeva
 ## Item 2.1
179 1 Ruslan Khasanov
180 3 Lucy Yevseyeva
  ## Item 2.1.1
181
## Item 2.2
182
# Item 3
183 1 Ruslan Khasanov
184 3 Lucy Yevseyeva
# Item 0
185
186 1 Ruslan Khasanov
h3. Таблицы
187
188 3 Lucy Yevseyeva
Любое количество пустых символов будет заменено одним пробелом, поэтому для удобства разметки можно использовать текстовый редактор и табуляцию.
189
190 1 Ruslan Khasanov
<pre>
191 3 Lucy Yevseyeva
|_.UserID|_.Name|_.Group|_. attribute list |
192
|\3=.IT               |<. align left|
193
|1|Artur Pirozhkov |/2.Users |>. align right|
194
|2|Vasya Rogov        |=. center |
195
|3|John Smith |Admin
196
               (root)|^. valign top |
197
|4|-          |Nobody
198
               (anonymous)|~. valign bottom|
199
200 1 Ruslan Khasanov
</pre>
201
202 3 Lucy Yevseyeva
Отображается как:
203
|_.UserID|_.Name|_.Group|_. attribute list |
204
|\3=.IT               |<. align left|
205
|1|Artur Pirozhkov |/2.Users |>. align right|
206
|2|Vasya Rogov        |=. center |
207
|3|John Smith |Admin[3]
208
(root)|^. valign top |
209
|4|-          |Nobody
210
               (anonymous)|~. valign bottom|
211 1 Ruslan Khasanov
212 3 Lucy Yevseyeva
h3. Сноски
213 1 Ruslan Khasanov
214 3 Lucy Yevseyeva
Сноска:
215
216
fn21. *fn21.* Поясняющий текст.
217
218
Ссылка на сноску[4]:
219
220
p(. *Поясняемый текст&#91;21]*: Поясняемый текст[21]
221
222 6 Lucy Yevseyeva
h3. Разделитель
223
224
Три дефиса *---*, отделенные переносами строк от остального текста, преобразуются в html-тэг <hr>.
225
226
---
227
228 3 Lucy Yevseyeva
h2. Атрибуты
229
230
h3. Идентификаторы
231
232
p(. *p(#id).* -- присваивает абзацу идентификатор id.
233
234
Пример: 
235
236
p((#id). Данный абзац имеет идентификатор id, что может быть использовано, например, для создания [[RedmineTextFormattingRus#id|ссылки]] на него.
237
238
h3. Классы css
239
240
p(. *p(class).* -- присваивает абзацу класс class.
241
242
Пример:
243
244
p((ruby syntaxhl). Данный абзац содержит фразу, оформленную в стиле %(fu)ruby функции.%
245
246
h2. Ссылки на объекты
247
248
Чтобы предотвратить преобразование redmine-разметки в ссылку поставьте перед ней восклицательный знак.
249
250
h3. Задачи
251
252
p(. *!#124*: #124 -- ссылка перечеркнута, если задача закрыта.
253
254
h3. Редакции
255
256
p(. *!r758*: r758
257
258
h3. Коммиты 
259
260
p(. *commit:c6f4d0fd*: commit:c6f4d0fd
261
262
h3. Wiki-страницы
263
264
Ссылка отображается красной, если страницы не существует: [[Nonexistent page]].
265
266
p(. *&#91;&#91;Guide&#93;&#93;*: [[Guide]]
267
268
p(. *&#91;&#91;Guide&#124;User manual&#93;&#93;*: [[Guide|User manual]] -- ссылка с произвольным текстом.
269
270
p(. *&#91;&#91;Guide#User-guide&#124;User guide&#93;&#93;*: [[Guide#User-guide|User guide]] -- ссылка на определенный заголовок страницы.
271
_После символа # в названии заголовка ставятся дефисы вместо пробелов._
272
273
p(. *&#91;&#91;someproject:some-page&#93;&#93;* -- ссылка на wiki-страницу из другого проекта.
274
275
p(. *&#91;&#91;someproject:&#93;&#93;* -- ссылка на главную страницу Wiki другого проекта.
276
277
h3. Документы
278
279
p(. *!document#17* -- ссылка на документ по идентификатору.
280
281
p(. *!document:somedocument* -- ссылка на документ по названию.
282
283
p(. *!document:"Some document"* -- название заключается в двойные кавычки, если в нем есть пробелы.
284
285
p(. *!document:some_project:"Some document"* -- ссылка по названию на доукумент в другом проекте.
286
287
h3. Версии
288
289
p(. *!version#3* -- ссылка на версию по идентификатору.
290
291
p(. *!version:1.0.0* -- ссылка на версию по названию.
292
293
p(. *!version:"1.0 beta 2"* -- название заключается в двойные кавычки, если в нем есть пробелы.
294
295
h3. Проекты
296
297
p(. *project#4* или *!project:someid* -- ссылка на проект по числовому или символьному идентификатору.
298
299
p(. *!project:someproject* - ссылка на проект по названию.
300
301
p(. *!project:"Some project"* - название заключается в двойные кавычки, если в нем есть пробелы.
302
303
h3. Вложения
304
  
305
p(. *!attachment:i0003.gif*: attachment:i0003.gif -- ссылка на файл, прикрепленный к данной странице.
306
307
p((#attach). _*Важно*_: ссылки на прикрепленные файлы действуют только на той странице, к которой они прикреплены.
308
309
h3. Репозиторий
310
311
p(. *!source:some/file* -- ссылка на файл репозитория.
312
313
p(. *!source:some/file@52* -- ссылка на редакцию файла репозитория.
314
315
p(. *!source:some/file#L120* -- ссылка на строку файла репозитория.
316
317
p(. *!source:some/file@52#L120* -- комбинация разметки.
318
319
p(. *!source:"some file@52#L120"* -- двойные кавычки используются, если в URL присутствуют пробелы.
320
321
p(. *!export:some/file* -- ссылка на скачивание файла.
322
323
h2. Макросы
324
325
Список доступных макросов и их описание (по-английски) вызывается макросом *&#123;{macro_list}}*.
326
327
{{>TOC}}
328
329 1 Ruslan Khasanov
h3. Содержание
330
331 3 Lucy Yevseyeva
*&#123;{TOC}}* -- отображает содержание страницы, которое формируется автоматически на основе [[RedmineTextFormattingRus#Заголовки|заголовков]].
332
*&#123;{>TOC}}* -- выравнивание блока содержания по правому краю:
333 1 Ruslan Khasanov
334 3 Lucy Yevseyeva
h3. Дочерние страницы
335 1 Ruslan Khasanov
336 3 Lucy Yevseyeva
*&#123;{child_pages}}* -- выводит список ссылок на все "дочерние страницы":http://www.redmine.org/projects/redmine/wiki/RedmineWikis#Creating-sub-pages-parentchild-relationships (англ.) данной страницы.
337
*&#123;{child_pages(Foo)}}* -- выводит список ссылок для указанной в скобках wiki-страницы [[Foo]].
338
*&#123;{child_pages(Foo, parent=1)}}* -- начинает список со ссылки на родительскую страницу.
339 1 Ruslan Khasanov
340 3 Lucy Yevseyeva
Пример последнего макроса для страницы [[Teams]]:
341
{{child_pages(Teams, parent=1)}}
342 1 Ruslan Khasanov
343 3 Lucy Yevseyeva
h3. Включение текста
344 1 Ruslan Khasanov
345 3 Lucy Yevseyeva
*&#123;{include(Foo)}}* -- включает в данном месте текста содержимое страницы [[Foo]] без каких-либо специальных обозначений.
346 1 Ruslan Khasanov
347 3 Lucy Yevseyeva
Пример:
348 1 Ruslan Khasanov
349 3 Lucy Yevseyeva
{{include(Foo)}}
350
Если включаемой страницы не существует или у пользователя нет к ней доступа, будет выведено сообщение об ошибке.
351
352
h2. Подсветка кода
353
354
Подсветка кода реализована на "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.
355
356
Чтобы подсветить код, используйте следующую разметку:
357
358 1 Ruslan Khasanov
<pre><code><pre><code class="ruby">
359 3 Lucy Yevseyeva
  Place your code here.
360 1 Ruslan Khasanov
</code></pre>
361
</code></pre>
362
363
Пример:
364
365
<pre><code class="ruby">
366
# The Greeter class
367 2 Denis Savitskiy
class Greeter
368 1 Ruslan Khasanov
  def initialize(name)
369
    @name = name.capitalize
370
  end
371
 
372
  def salute
373
    puts "Hello #{@name}!"
374
  end
375
end
376
</code></pre>
377 3 Lucy Yevseyeva
378
h2. Заключение
379
380
Простейшие возможности разметки доступны через кнопки над полем ввода, однако, все варианты оформления применимы к любому тексту в Redmine: задаче, новости, комментарию и т.п.
381
Историю изменений wiki-страницы можно посмотреть, нажав ссылку "История " вверху справа.
382
В качестве примера всех перечисленных вариантов разметки можно рассмотреть исходный код данной статьи.
383
384
fn1. Синтаксис Textile поддерживается в Redmine не полностью. В частности, не преобразуются спецсимволы, например, (с) в &copy;, -- в &mdash; и т.п., а также не поддерживается разметка: атрибута {color:red} и блоков bq.., bc. и pre.
385
386
fn2. К сожалению, не работает для кириллицы: ИС(Информационные Системы)
387
388
fn3. Перенос строки в тексте преобразуется парсером в @<br>@.
389
390
fn4. Ссылка не обрабатывается если отделяется от поясняемой фразы: например [4] или "другой пример"[4].