Project

General

Profile

RedmineTextFormattingRus » History » Version 9

Lucy Yevseyeva, 2011-09-05 08:02

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