Project

General

Profile

RusRedmineTextFormatting » History » Version 78

Oleg Shaburov, 2015-10-08 09:05

1 5 Lucy Yevseyeva
p(breadcrumb). [[RusGuide|Руководство]] » [[RusUser_Guide|Руководство пользователя]]
2
3 3 Lucy Yevseyeva
h1. Оформление текстов
4 1 Ruslan Khasanov
5
{{>TOC}}
6 3 Lucy Yevseyeva
7 53 Lucy Yevseyeva
Для оформления текстов в описании задач и на 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).
8 24 Lucy Yevseyeva
9
p.  
10
11 40 Lucy Yevseyeva
h2. Стили шрифтов
12
13
p(. *_italic_*: _курсив_
14
15
p(. **_bold italic_**: *_жирный курсив_*
16
17
p(. *+underline+*: +подчеркнутый+
18
19
p(. *-strike-through-*: -перечеркнутый-
20
21
p(. *Plain ^superscript^*: ^Верхний^ индекс
22
23
p(. *Plain ~subscript~*: ~Нижний~ индекс
24
25
p(. *inline @monospace@*: @моноширинный@ шрифт
26
27
p(. *??cite??*: ??цитата??
28
29 3 Lucy Yevseyeva
h2. Строчные элементы
30 1 Ruslan Khasanov
31 3 Lucy Yevseyeva
h3. Внешние ссылки
32 1 Ruslan Khasanov
33 3 Lucy Yevseyeva
Адреса http(s), ftp и mail автоматически преобразуются в "кликабельные" ссылки:
34 1 Ruslan Khasanov
35 3 Lucy Yevseyeva
p(. *http://www.redmine.org*:  http://www.redmine.org
36 1 Ruslan Khasanov
37 3 Lucy Yevseyeva
Для размещения в ссылке произвольного текста используйте следующую разметку:
38 1 Ruslan Khasanov
39
p(. *"Главная страница проекта Redmine":http://www.redmine.org*: "Главная страница проекта Redmine":http://www.redmine.org.
40
41 7 Lucy Yevseyeva
h3. E-mail ссылки
42
43
p(. *someone@foo.bar*: someone@foo.bar.
44
45
В ссылке на e-mail адрес можно указать тему, текст письма и адреса для отправки копий.
46
47
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 -- указание адреса для отправки копии.
48
49
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help -- указание темы письма.
50
51
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 -- указание текста письма.
52
53
p(. _*Важно_:* вместо пробелов в ссылку следует вставлять код %20.
54 8 Lucy Yevseyeva
55 3 Lucy Yevseyeva
h3. Акронимы
56 1 Ruslan Khasanov
57 28 Lucy Yevseyeva
Ненавязчиво пояснить аббревиатуры в тексте можно следующим образом:
58 1 Ruslan Khasanov
59
p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang).
60 28 Lucy Yevseyeva
61 76 Имя Фамилия
К сожалению, не работает для кириллицы и смешанного регистра: ИС(Информационные Системы), QoS(Quality of Service)
62 1 Ruslan Khasanov
63 3 Lucy Yevseyeva
h3. Изображения
64 1 Ruslan Khasanov
65 11 Lucy Yevseyeva
+Внешние:+
66 1 Ruslan Khasanov
67 10 Lucy Yevseyeva
p(. *!image_url!* — встраивает в текст изображение, находящееся по внешнему адресу image_url.
68 1 Ruslan Khasanov
69 10 Lucy Yevseyeva
p(. *!image_url(Image title)!* — изображение будет снабжено заголовком.
70 1 Ruslan Khasanov
71 11 Lucy Yevseyeva
* встроенное изображение, причем текст будет продолжен после изображения !i0003.gif(Индеец)! вот так, а при наведении курсора на изображение появится текст. Этот текст также появится,если изображение по какой-либо причине недоступно — !i0004.gif(Индеец)! (отображение зависит от браузера)
72
73 1 Ruslan Khasanov
p(. *!>image_url!* — изображение выровнено по правому краю, текст обтекает изображение по левому краю.
74
75 11 Lucy Yevseyeva
* изображение отображается справа от текста !>i0003.gif!
76 1 Ruslan Khasanov
пример изображения справа от текста
77
опять справа от текста
78
еще справа от текста
79
и тут картинка справа от текста
80
а тут текст слева от картинки
81 11 Lucy Yevseyeva
82
+Прикрепленные:+
83
84
p(. *!attached_image.png!* — встраивает в текст изображение attached_image.png, прикрепленное к странице.
85
86 72 Lucy Yevseyeva
p(. *!{width:50%}attached_image.png!* — задаёт ширину изображения относительно блока, в который его встроили (для больших изображений можно воспользоваться блоком [[RusRedmineTextFormatting#Предпросмотр-изображения|предварительного просмотра]]).
87 11 Lucy Yevseyeva
88
* !{width:50%}http://www.redmine.org/screenshots/scm_diff.png!
89
90 1 Ruslan Khasanov
*_Важно:_* ссылки на прикрепленные изображения действуют только на той странице, к которой они прикреплены.
91 72 Lucy Yevseyeva
92 1 Ruslan Khasanov
93 3 Lucy Yevseyeva
h2. Блочные элементы
94 1 Ruslan Khasanov
95 3 Lucy Yevseyeva
Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками.
96 1 Ruslan Khasanov
97 3 Lucy Yevseyeva
h3. Заголовки
98 1 Ruslan Khasanov
99 3 Lucy Yevseyeva
p(. *hn.* Заголовок n-ного уровня, где _n_ принимает значение от 1 до 6.
100 1 Ruslan Khasanov
101 13 Lucy Yevseyeva
<pre>
102
h1. Заголовок 1
103
104 25 Lucy Yevseyeva
h2=. Заголовок 2 // = выравнивание по центру
105 13 Lucy Yevseyeva
106 25 Lucy Yevseyeva
h3>. Заголовок 3 // > выравнивание по правому краю
107 13 Lucy Yevseyeva
</pre>
108
109 14 Lucy Yevseyeva
Заголовки снабжаются якорями, на которые можно будет давать ссылки (см. раздел [[RusRedmineTextFormatting#Wiki-страницы|Wiki-страницы]]).
110
111 15 Lucy Yevseyeva
Расставленные в тексте заголовки формируют блок "содержания" страницы, который можно встроить на страницу с помощью специального [[RusRedmineTextFormatting#Содержание|макроса]].
112 13 Lucy Yevseyeva
113 3 Lucy Yevseyeva
h3. Абзацы
114 1 Ruslan Khasanov
115 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.
116 1 Ruslan Khasanov
117 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.
118 1 Ruslan Khasanov
119 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.
120
Отступ сохраняется для всех следующих без пробела строк.
121 1 Ruslan Khasanov
122 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.
123 1 Ruslan Khasanov
124 3 Lucy Yevseyeva
p<. *p<.* Выравнивание по левому краю (по умолчанию).
125 1 Ruslan Khasanov
126 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.
127
_Выравнивание и отступ также сохраняется для всего следующего через перенос строки (@<br>@)
128
 текста._
129 1 Ruslan Khasanov
130 3 Lucy Yevseyeva
_Выравнивание сбрасывается с введением пустой строки между выровненным блочным элементом и остальным текстом._
131 1 Ruslan Khasanov
132 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.
133 1 Ruslan Khasanov
134 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.
135 1 Ruslan Khasanov
136 16 Lucy Yevseyeva
h3. Горизонтальный разделитель
137
138
<pre>
139
---
140
141 17 Lucy Yevseyeva
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
142
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
143
 exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute 
144
irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
145
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
146
 deserunt mollit anim id est laborum.
147 16 Lucy Yevseyeva
148
---
149
</pre>
150
151
---
152
153
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.
154
155
---
156
157 3 Lucy Yevseyeva
h3. Pre-форматирование
158 1 Ruslan Khasanov
159 3 Lucy Yevseyeva
> Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].
160 1 Ruslan Khasanov
161 3 Lucy Yevseyeva
Чтобы избежать преобразования textile-разметки в html-код используйте тэги @&#60;pre>&#60;/pre>@.
162 1 Ruslan Khasanov
163 3 Lucy Yevseyeva
<pre><pre>Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre></pre>
164 1 Ruslan Khasanov
165
h3. Цитаты
166
167 18 Lucy Yevseyeva
<pre>
168
> "Ruby on Rails" — программный каркас, написанный на языке программирования 
169
Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller 
170
(модель-представление-контроллер) для веб-приложений, а также обеспечивает их 
171
интеграцию с веб-сервером и сервером базы данных.
172
</pre>
173
174
> "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
175 1 Ruslan Khasanov
 или
176
177 18 Lucy Yevseyeva
<pre>
178
bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails "Ruby on Rails" — программный 
179
каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет 
180
архитектурный образец Model-View-Controller (модель-представление-контроллер) для
181
 веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером 
182
базы данных.
183
</pre>
184 1 Ruslan Khasanov
185 18 Lucy Yevseyeva
bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
186
187
<pre>
188 19 Lucy Yevseyeva
>> Вдруг кому пригодится.
189 48 Lucy Yevseyeva
> bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails 
190
преобразуется парсером в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@
191
html-тэга <blockquote>
192 18 Lucy Yevseyeva
</pre>
193
194 19 Lucy Yevseyeva
>> Вдруг кому пригодится.
195 51 Lucy Yevseyeva
> <notextile>bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails</notextile> преобразуется парсером в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@ html-тэга <blockquote>
196 1 Ruslan Khasanov
197 3 Lucy Yevseyeva
h3. Списки
198 1 Ruslan Khasanov
199 3 Lucy Yevseyeva
Разметка для ненумерованного списка
200
<pre>* Item 1
201
* Item 2
202
** Item 2.1
203
204
 ** Item 2.1.1
205
*** Item 2.1.2
206
** Item 2.2
207
* Item 3
208
209 1 Ruslan Khasanov
** Item 0
210 3 Lucy Yevseyeva
</pre>
211 1 Ruslan Khasanov
отображается как:
212 20 Lucy Yevseyeva
213 3 Lucy Yevseyeva
* Item 1
214
* Item 2
215
** Item 2.1
216 1 Ruslan Khasanov
217 3 Lucy Yevseyeva
 ** Item 2.1.1
218
*** Item 2.1.2
219
** Item 2.2
220
* Item 3
221 1 Ruslan Khasanov
222 3 Lucy Yevseyeva
** Item 0
223 1 Ruslan Khasanov
224 3 Lucy Yevseyeva
Разметка для нумерованного списка
225
<pre># Item 1
226
# Item 2
227 1 Ruslan Khasanov
228 3 Lucy Yevseyeva
 ## Item 2.1
229
230
  ## Item 2.1.1
231
## Item 2.2
232
# Item 3
233
234 1 Ruslan Khasanov
# Item 0
235 3 Lucy Yevseyeva
</pre>
236 1 Ruslan Khasanov
отображается как:
237 20 Lucy Yevseyeva
238 3 Lucy Yevseyeva
# Item 1
239
# Item 2
240 1 Ruslan Khasanov
241 3 Lucy Yevseyeva
 ## Item 2.1
242 1 Ruslan Khasanov
243 3 Lucy Yevseyeva
  ## Item 2.1.1
244
## Item 2.2
245 1 Ruslan Khasanov
# Item 3
246
247
# Item 0
248 20 Lucy Yevseyeva
249
Под элемент списка можно встроить текст, не нарушив нумерации, если поместить его через перенос строки и пробел:
250
251
<pre>* Item 1
252
 some text
253
 some text
254
* Item 2
255
 some text
256
** Item 2.1
257
 some text
258
* Item 3
259
</pre>
260
261
# Item 1
262
 some text
263
 some text
264
# Item 2
265
 some text
266
## Item 2.1
267
 some text
268
# Item 3
269
 some text
270 3 Lucy Yevseyeva
271 1 Ruslan Khasanov
h3. Таблицы
272
273 78 Oleg Shaburov
*1.* Любое количество пустых символов будет заменено одним пробелом, поэтому для удобства разметки можно использовать текстовый редактор и табуляцию.
274 3 Lucy Yevseyeva
275 1 Ruslan Khasanov
<pre>
276 3 Lucy Yevseyeva
|_.UserID|_.Name|_.Group|_. attribute list |
277
|\3=.IT               |<. align left|
278
|1|Artur Pirozhkov |/2.Users |>. align right|
279
|2|Vasya Rogov        |=. center |
280
|3|John Smith |Admin
281
               (root)|^. valign top |
282
|4|-          |Nobody
283
               (anonymous)|~. valign bottom|
284
285 1 Ruslan Khasanov
</pre>
286
287 3 Lucy Yevseyeva
Отображается как:
288
|_.UserID|_.Name|_.Group|_. attribute list |
289
|\3=.IT               |<. align left|
290
|1|Artur Pirozhkov |/2.Users |>. align right|
291
|2|Vasya Rogov        |=. center |
292 30 Lucy Yevseyeva
|3|John Smith |Admin
293 3 Lucy Yevseyeva
(root)|^. valign top |
294
|4|-          |Nobody
295 1 Ruslan Khasanov
               (anonymous)|~. valign bottom|
296 77 Oleg Shaburov
297 78 Oleg Shaburov
*2.* Для применения атрибутов к таблице, перед началом таблицы необходимо указать дополнительный тег @table{}.@
298 77 Oleg Shaburov
Например для горизонтального центрирования применяется свойство margin:0 auto, для указания статической ширины таблицы можно использовать свойство width:<значение> с значением в пикселях (600px) либо в процентах 100%.
299
300
<pre>
301
table{margin:0 auto; width:50%}.
302
|_\2.example|
303
|example|example|
304
|example|example|
305
</pre>
306
307
Отображается как:
308
309
table{margin:0 auto; width:50%}.
310
|_\2.example|
311
|example|example|
312
|example|example|
313
314 78 Oleg Shaburov
*3.* Стили применимы и к наполнению таблицы.
315 1 Ruslan Khasanov
316 77 Oleg Shaburov
<pre>
317
table{margin:0 auto}.
318 78 Oleg Shaburov
{background:#4F4F4F}. |_\8.%{font-size:18px; color:#F5F5DC}Check-list%|
319 77 Oleg Shaburov
{background:#4F4F4F}. |_=.%{color:#F5F5DC}№ 
320
кейса%|_=.%{color:#F5F5DC}Описание%|_=.%{color:#F5F5DC}Используемая 
321
процедура%|_=.%{color:#F5F5DC}Ожидаемый 
322
результат%|_=.%{color:#F5F5DC}Фактический результат.%|_=.%{color:#F5F5DC}Проверено%|_=.%{color:#F5F5DC}№ бага%|_=.%{color:#F5F5DC}Комментарий%|
323
|_.*1*|Описание теста №1|{{collapse(Процедура 1)
324
тело процедуры 1
325 1 Ruslan Khasanov
}}|=.Запись в БД обновилась.|=.%{color:green}Запись в БД обновилась.%|_.08.10.15|_.-||
326 77 Oleg Shaburov
{background:#F5F5DC}. |_.*2*|Описание теста №2|{{collapse(Процедура 2)
327
тело процедуры 2
328
}}|=.Ошибка|=.%{color:red}Ошибки не возникло.%|_.08.10.15|"20912":http://www.redmine.org/issues/20912|Не воспроизводится.|
329 78 Oleg Shaburov
{background:#4F4F4F}. |_\8.|
330 77 Oleg Shaburov
</pre>
331
332
table{margin:0 auto}.
333 78 Oleg Shaburov
{background:#4F4F4F}. |_\8.%{font-size:18px; color:#F5F5DC}Check-list%|
334 77 Oleg Shaburov
{background:#4F4F4F}. |_=.%{color:#F5F5DC}№ 
335
кейса%|_=.%{color:#F5F5DC}Описание%|_=.%{color:#F5F5DC}Используемая 
336
процедура%|_=.%{color:#F5F5DC}Ожидаемый 
337
результат%|_=.%{color:#F5F5DC}Фактический результат.%|_=.%{color:#F5F5DC}Проверено%|_=.%{color:#F5F5DC}№ бага%|_=.%{color:#F5F5DC}Комментарий%|
338 1 Ruslan Khasanov
|_.*1*|Описание теста №1|{{collapse(Процедура 1)
339 77 Oleg Shaburov
тело процедуры 1
340
}}|=.Запись в БД обновилась.|=.%{color:green}Запись в БД обновилась.%|_.08.10.15|_.-||
341
{background:#F5F5DC}. |_.*2*|Описание теста №2|{{collapse(Процедура 2)
342
тело процедуры 2
343
}}|=.Ошибка|=.%{color:red}Ошибки не возникло.%|_.08.10.15|"20912":http://www.redmine.org/issues/20912|Не воспроизводится.|
344 78 Oleg Shaburov
{background:#4F4F4F}. |_\8.|
345 1 Ruslan Khasanov
346 3 Lucy Yevseyeva
h3. Сноски
347 1 Ruslan Khasanov
348 26 Lucy Yevseyeva
<pre>Поясняемый текст[21]
349 3 Lucy Yevseyeva
350 26 Lucy Yevseyeva
fn21. Поясняющий текст.
351 1 Ruslan Khasanov
352 26 Lucy Yevseyeva
</pre>
353 3 Lucy Yevseyeva
354 26 Lucy Yevseyeva
Поясняемый текст[21]
355
356
fn21. Поясняющий текст.
357 3 Lucy Yevseyeva
358 1 Ruslan Khasanov
359 32 Lucy Yevseyeva
Ссылка не обрабатывается парсером, если отделяется от поясняемого текста: например [4] или "другой пример"[4].
360 1 Ruslan Khasanov
361 52 Lucy Yevseyeva
h2. Ссылки на объекты Redmine
362 3 Lucy Yevseyeva
363 54 Lucy Yevseyeva
Redmine позволяет встраивать в тексты ссылка на различные ресурсы (задачи, wiki-страницы, ревизии…).
364 52 Lucy Yevseyeva
365 3 Lucy Yevseyeva
Чтобы предотвратить преобразование redmine-разметки в ссылку поставьте перед ней восклицательный знак.
366
367 55 Lucy Yevseyeva
h3. Wiki-страницы
368 1 Ruslan Khasanov
369 55 Lucy Yevseyeva
Ссылка отображается красной, если страницы не существует: [[Nonexistent page]].
370 54 Lucy Yevseyeva
371 55 Lucy Yevseyeva
p(. *![[Guide]]*: [[Guide]] — ссылка на страницу.
372 1 Ruslan Khasanov
373 55 Lucy Yevseyeva
p(. *![[Guide|User manual]]*: [[Guide|User manual]] — ссылка с произвольным текстом.
374 1 Ruslan Khasanov
375 55 Lucy Yevseyeva
p(. *![[Guide#User-guide|User guide]]*: [[Guide#User-guide|User guide]] — ссылка на определенный заголовок страницы.
376
_После символа # в названии заголовка ставятся дефисы вместо пробелов._
377 1 Ruslan Khasanov
378 56 Lucy Yevseyeva
p(. *![[someproject:some-page]]* — ссылка на wiki-страницу из другого проекта.
379 3 Lucy Yevseyeva
380 56 Lucy Yevseyeva
p(. *![[someproject:]]* — ссылка на главную страницу Wiki другого проекта.
381 1 Ruslan Khasanov
382 56 Lucy Yevseyeva
h3. Вложения
383
  
384
p(. *!attachment:i0003.gif*: attachment:i0003.gif — ссылка на файл, прикрепленный к данной странице; если название файла содержит небуквенные символы, следует взять его в двойные кавычки.
385 1 Ruslan Khasanov
386 56 Lucy Yevseyeva
p(. _*Важно*_: ссылки на прикрепленные файлы действуют только на той странице, к которой они прикреплены.
387 1 Ruslan Khasanov
388 56 Lucy Yevseyeva
h3. Документы
389 55 Lucy Yevseyeva
390 56 Lucy Yevseyeva
p(. *!document#17* — ссылка на документ по идентификатору.
391 1 Ruslan Khasanov
392 56 Lucy Yevseyeva
p(. *!document:somedocument* — ссылка на документ по названию.
393 1 Ruslan Khasanov
394 56 Lucy Yevseyeva
p(. *!document:"Some document"* — название документа заключается в двойные кавычки, если в нем есть пробелы.
395 1 Ruslan Khasanov
396 56 Lucy Yevseyeva
p(. *!document:some_project:"Some document"* — ссылка по названию на документ в другом проекте.
397 55 Lucy Yevseyeva
398 56 Lucy Yevseyeva
h3. Проекты
399 1 Ruslan Khasanov
400 56 Lucy Yevseyeva
p(. *project#4* или *!project:someid* — ссылка на проект по числовому или символьному идентификатору.
401 1 Ruslan Khasanov
402 56 Lucy Yevseyeva
p(. *!project:someproject* — ссылка на проект по названию.
403 1 Ruslan Khasanov
404 56 Lucy Yevseyeva
p(. *!project:"Some project"* — название заключается в двойные кавычки, если в нем есть пробелы.
405 1 Ruslan Khasanov
406 56 Lucy Yevseyeva
h3. Задачи
407 1 Ruslan Khasanov
408 56 Lucy Yevseyeva
p(. *!#3177*: #3177 — ссылка перечеркнута, если задача закрыта.
409 1 Ruslan Khasanov
410 56 Lucy Yevseyeva
p(. *!#3177-9*: #3177-9 — ссылка на комментарий к задаче.
411 3 Lucy Yevseyeva
412
h3. Версии
413
414 56 Lucy Yevseyeva
p(. *!version#3* — ссылка на версию по идентификатору.
415 3 Lucy Yevseyeva
416 56 Lucy Yevseyeva
p(. *!version:1.0.0* — ссылка на версию по названию.
417 3 Lucy Yevseyeva
418 56 Lucy Yevseyeva
p(. *!version:"1.0 beta 2"* — название заключается в двойные кавычки, если в нем есть пробелы.
419 3 Lucy Yevseyeva
420 56 Lucy Yevseyeva
h3. Изменения
421 3 Lucy Yevseyeva
422 56 Lucy Yevseyeva
В зависимости от типа хэша изменений, используемого вашим репозитарием:
423 3 Lucy Yevseyeva
424 56 Lucy Yevseyeva
p(. *!r758* или *commit:c6f4d0fd*: r758 — редакция
425 3 Lucy Yevseyeva
426 56 Lucy Yevseyeva
p(. *!svn1|r758* или *commit:hg|c6f4d0fd*:  ссылка на редакцию в определенном репозитарии
427 3 Lucy Yevseyeva
428 56 Lucy Yevseyeva
p(. *!sandbox:r758* или *sandbox:commit:c6f4d0fd*: ссылка на редакцию в другом проекте
429 3 Lucy Yevseyeva
430 56 Lucy Yevseyeva
h3. Файлы репозитория
431 3 Lucy Yevseyeva
432 56 Lucy Yevseyeva
p(. *!source:some/file* — ссылка на файл репозитория.
433 3 Lucy Yevseyeva
434 56 Lucy Yevseyeva
p(. *!source:some/file@52* — ссылка на редакцию файла репозитория.
435 3 Lucy Yevseyeva
436 56 Lucy Yevseyeva
p(. *!source:some/file#L120* — ссылка на строку файла репозитория.
437 3 Lucy Yevseyeva
438 56 Lucy Yevseyeva
p(. *!source:some/file@52#L120* — комбинация разметки.
439 3 Lucy Yevseyeva
440 56 Lucy Yevseyeva
p(. *!source:repo_identifier|some/file* — ссылка на репозиторий не по умолчанию.
441 3 Lucy Yevseyeva
442 56 Lucy Yevseyeva
p(. *!source:"some file@52#L120"* — двойные кавычки используются, если в URL присутствуют пробелы.
443 3 Lucy Yevseyeva
444
p(. *!export:some/file* -- ссылка на скачивание файла.
445 1 Ruslan Khasanov
446 57 Lucy Yevseyeva
h3. Форумы
447
448
p(. *!forum#2*: ссылка на форум по идентификатору.
449
450
P(. *!forum:Discussion*: ссылка на форум по названию.
451
452
453
P(. *!forum:"Help and more"*: двойные кавычки используются, если в названии есть пробелы.
454
455
p(. *!message#1218*: ссылка на сообщение по идентификатору.
456
457
h3. Новости
458
459
p(. *!news#1*: ссылка на новость по идентификатору.
460
461
p(. *!news:Greetings*: ссылка на новость по названию.
462
463 58 Lucy Yevseyeva
p(. *!news:"eCookbook first release !"*: двойные кавычки используются, если в названии есть пробелы.
464 57 Lucy Yevseyeva
465 1 Ruslan Khasanov
h2. Макросы
466
467 58 Lucy Yevseyeva
Список доступных макросов и их описание (по-английски) вызывается следующим макросом:
468
<pre>
469
{{macro_list}}
470
</pre>
471 1 Ruslan Khasanov
472
h3. Содержание
473
474 66 Lucy Yevseyeva
Отображает блок "содержание" страницы, который формируется автоматически на основе выставленных в тексте [[RusRedmineTextFormatting#Заголовки|заголовков]]:
475 1 Ruslan Khasanov
476 66 Lucy Yevseyeva
<pre>
477
{{TOC}}
478
479
{{>TOC}} // блок справа
480
</pre>
481
482 1 Ruslan Khasanov
h3. Дочерние страницы
483
484 66 Lucy Yevseyeva
Выводит список ссылок на все "дочерние страницы":http://www.redmine.org/projects/redmine/wiki/RedmineWikis#Creating-sub-pages-parentchild-relationships (англ.) для +текущей+ страницы:
485 1 Ruslan Khasanov
486 66 Lucy Yevseyeva
<pre>
487
{{child_pages}}
488
</pre>
489
490
---
491
492
Выводит список дочерних страниц для любой страницы:
493
494
<pre>
495
{{child_pages(RedmineIssues)}}
496
</pre>
497
498
Пример:
499
500
{{child_pages(RedmineIssues)}}
501
502
---
503
504
Начинает список со ссылки на страницу:
505
506
<pre>
507
{{child_pages(RedmineIssues, parent=1)}}
508
</pre>
509
510
Пример:
511
512
{{child_pages(RedmineIssues, parent=1)}}
513
514
---
515
516
Выводит дочерние страницы заданной глубины вложенности:
517
518
519
<pre>
520 67 Lucy Yevseyeva
{{child_pages(RedmineIssues, depth=2)}}
521 66 Lucy Yevseyeva
</pre>
522
523 67 Lucy Yevseyeva
{{child_pages(RedmineIssues, depth=2)}}
524 1 Ruslan Khasanov
525
---
526 67 Lucy Yevseyeva
527
<pre>
528
{{child_pages(RedmineIssues, depth=1, parent=1)}}
529
</pre>
530
531
{{child_pages(RedmineIssues, depth=1, parent=1)}}
532
533
---
534
535 1 Ruslan Khasanov
h3. Включение текста
536
537 68 Lucy Yevseyeva
Выводит содержимое указанной страницы:
538 1 Ruslan Khasanov
539 68 Lucy Yevseyeva
<pre>
540 1 Ruslan Khasanov
541 68 Lucy Yevseyeva
{{include(PMO)}}
542
543
</pre>
544
545
Пример (для удобства включение обрамлено горизонтальными разделителями "---" )
546
547
---
548
549
{{include(PMO)}}
550
551
---
552
553
554
Если включаемая страница не найдена или у текущего пользователя нет доступа на её просмотр, будет выведено сообщение об ошибке:
555 44 Lucy Yevseyeva
{{include(Foo)}}
556
557 69 Lucy Yevseyeva
h3. Свёрнутый блок
558
559
<pre>
560
{{collapse(Осторожно, спойлер!)
561
Всех убил адвокат.
562
}}
563
</pre>
564
565
{{collapse(Осторожно, спойлер!)
566
Всех убил адвокат.
567
}}
568
569
h3. Предпросмотр изображения
570
571 71 Lucy Yevseyeva
Выводит блок шириной 100 px для предварительного просмотра прикрепленного изображения:
572
573
<pre>
574
{{thumbnail(scm_diff.png)}}
575
</pre>
576
577
Можно задать ширину блока и всплывающую подсказку:
578
579
<pre>
580
{{thumbnail(scm_diff.png, size=300, title=Thumbnail)}}
581
</pre>
582
583
{{thumbnail(scm_diff.png, size=300, title=Thumbnail)}}
584 69 Lucy Yevseyeva
585 44 Lucy Yevseyeva
h2. CSS
586
587
h3. Идентификаторы
588
589
p(. *p(#id).* — присваивает абзацу идентификатор id.
590
591
Пример: 
592
593
p((#id). Данный абзац имеет идентификатор id (якорь), что может быть использовано, например, для создания [[RedmineTextFormattingRus#id|ссылки]] на него без использования заголовков.
594
595
h3. Классы
596 60 Lucy Yevseyeva
597 61 Lucy Yevseyeva
p(. *p(class_name).* — присваивает абзацу класс.
598 44 Lucy Yevseyeva
599
p(. *&#37;(class_name)span_content%* — присваивает диапазону класс.
600
601
Примеры:
602 1 Ruslan Khasanov
603 59 Lucy Yevseyeva
p((breadcrumb). Хлебные крошки [[Guide|Руководство »]] [[User Guide|Руководство пользователя »]]
604 44 Lucy Yevseyeva
605
%(wiki_page-21-watcher icon icon-fav) Избранное%
606
607
h3. Стили
608
609 62 Lucy Yevseyeva
*<notextile>%</notextile>{background:lightgreen}Зеленый фон%* — %{background:lightgreen}Зеленый фон%
610 44 Lucy Yevseyeva
611 63 Lucy Yevseyeva
*<notextile>%</notextile>{text-decoration:overline}"Надчеркивание"%* — %{text-decoration:overline}"Надчеркивание"%
612 45 Lucy Yevseyeva
613 65 Lucy Yevseyeva
Комбинирование стилей:
614 3 Lucy Yevseyeva
615
*<notextile>%</notextile>{background:silver;color:black;border-style:outset;padding:5px}Отмена%* — *%{background:silver;color:black;border-style:outset;padding:5px}Отмена%*
616
617
h2. Подсветка кода
618
619 1 Ruslan Khasanov
Подсветка кода реализована на "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.
620 3 Lucy Yevseyeva
621 1 Ruslan Khasanov
Чтобы подсветить код, используйте следующую разметку:
622
623
<pre><code><pre><code class="ruby">
624
  Place your code here.
625
</code></pre>
626
</code></pre>
627
628 2 Denis Savitskiy
Пример:
629 1 Ruslan Khasanov
630
<pre><code class="ruby">
631
# The Greeter class
632
class Greeter
633
  def initialize(name)
634
    @name = name.capitalize
635
  end
636
 
637
  def salute
638 3 Lucy Yevseyeva
    puts "Hello #{@name}!"
639 43 Lucy Yevseyeva
  end
640
end
641 46 Lucy Yevseyeva
</code></pre>
642 43 Lucy Yevseyeva
643 74 Lucy Yevseyeva
h2. Экранирование разметки
644 43 Lucy Yevseyeva
645 3 Lucy Yevseyeva
Чтобы парсер не обрабатывал символы как textile-разметку, их следует поместить в экранирующие тэги:
646 1 Ruslan Khasanov
|_.Input |_. Output|
647
|*<notextile><notextile>|</notextile></notextile>*|<notextile>|</notextile>|
648
649
h2. Заключение
650 52 Lucy Yevseyeva
651
Простейшие возможности разметки доступны через кнопки над полем ввода, однако, все варианты оформления применимы к любому тексту в Redmine: задаче, новости, комментарию и т.п.
652
Историю изменений wiki-страницы можно посмотреть, нажав ссылку "История " вверху справа.
653
В качестве примера всех перечисленных вариантов разметки можно рассмотреть исходный код данной статьи.
654 1 Ruslan Khasanov
655
---
656
657 75 Lucy Yevseyeva
p(breadcrumbs). Переведено и дополнено [[RedmineTextFormatting]] (v.105)
658 70 Lucy Yevseyeva
659
---