Project

General

Profile

RusRedmineTextFormatting » History » Version 5

Lucy Yevseyeva, 2011-09-04 18:04

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