RedmineTextFormatting » History » Version 125

Sergey Kovalev, 2018-05-21 09:13
Rollback to previous working version

1 125 Sergey Kovalev
h1. Text formatting
2 1 Jean-Philippe Lang
3 125 Sergey Kovalev
Below is *Textile* formatting, for *Markdown* formatting see #15520.
4 1 Jean-Philippe Lang
5 125 Sergey Kovalev
{{>TOC}}
6 1 Jean-Philippe Lang
7 125 Sergey Kovalev
h2. Links
8 1 Jean-Philippe Lang
9 125 Sergey Kovalev
h3. Redmine links
10 1 Jean-Philippe Lang
11 125 Sergey Kovalev
Redmine allows hyperlinking between resources (issues, changesets, wiki pages...) from anywhere text formatting is used.
12 1 Jean-Philippe Lang
13 125 Sergey Kovalev
* Link to an issue: *!#124* (displays #124, link is striked-through if the issue is closed)
14 125 Sergey Kovalev
* Link to an issue note: *!#124-6*, or *!#124!#note-6*
15 125 Sergey Kovalev
* Link to a changeset: *!r758* (displays r758)
16 125 Sergey Kovalev
* Link to a changeset with a non-numeric hash: *commit:c6f4d0fd* (displays c6f4d0fd).
17 1 Jean-Philippe Lang
18 125 Sergey Kovalev
Wiki links:
19 1 Jean-Philippe Lang
20 125 Sergey Kovalev
* *[[Guide]]* displays a link to the page named 'Guide': [[Guide]]
21 125 Sergey Kovalev
* *[[Guide|User manual]]* displays a link to the same page but with different text: [[Guide|User manual]]
22 125 Sergey Kovalev
* *[[Guide#User-guide|User guide]]* displays a link to the header on the same page with different text: [[Guide#User-guide|User guide]]
23 1 Jean-Philippe Lang
24 125 Sergey Kovalev
You can also link to pages of another project's wiki (using the project identifier):
25 1 Jean-Philippe Lang
26 125 Sergey Kovalev
* *[[sandbox:some page]]* displays a link to the page named 'Some page' of the Sandbox wiki
27 125 Sergey Kovalev
* *[[sandbox:]]* displays a link to the Sandbox wiki main page
28 1 Jean-Philippe Lang
29 125 Sergey Kovalev
Wiki links are displayed in red if the page doesn't exist yet, eg: [[Nonexistent page]].
30 1 Jean-Philippe Lang
31 125 Sergey Kovalev
Links to others resources:
32 1 Jean-Philippe Lang
33 125 Sergey Kovalev
* Documents:
34 1 Jean-Philippe Lang
35 125 Sergey Kovalev
  * *!document#17* (link to document with id 17)
36 125 Sergey Kovalev
  * *!document:Greetings* (link to the document with title "Greetings")
37 125 Sergey Kovalev
  * *!document:"Some document"* (double quotes can be used when document title contains spaces)
38 125 Sergey Kovalev
  * *!sandbox:document:"Some document"* (link to a document with title "Some document" in project identifier "sandbox")
39 1 Jean-Philippe Lang
40 125 Sergey Kovalev
* Versions:
41 1 Jean-Philippe Lang
42 125 Sergey Kovalev
  * *!version#3* (link to version with id 3)
43 125 Sergey Kovalev
  * *!version:1.0.0* (link to version named "1.0.0")
44 125 Sergey Kovalev
  * *!version:"1.0 beta 2"* (double quotes can be used when version name contains spaces)
45 125 Sergey Kovalev
  * *!sandbox:version:1.0.0* (link to version "1.0.0" in the project identifier "sandbox")
46 1 Jean-Philippe Lang
47 125 Sergey Kovalev
* Attachments:
48 125 Sergey Kovalev
  
49 125 Sergey Kovalev
  * *!attachment:file.zip* (link to the attachment of the current object named file.zip)
50 125 Sergey Kovalev
  * *!attachment:"file.zip"* (double quotes can be used when the filename contains non word characters)
51 125 Sergey Kovalev
  * For now, attachments of the current object can be referenced only (if you're on an issue, it's possible to reference attachments of this issue only)
52 1 Jean-Philippe Lang
53 125 Sergey Kovalev
* Changesets:
54 1 Jean-Philippe Lang
55 125 Sergey Kovalev
  * *!r758* (link to a changeset)
56 125 Sergey Kovalev
  * *!commit:c6f4d0fd* (link to a changeset with a non-numeric hash)
57 125 Sergey Kovalev
  * *!svn1|r758* (link to a changeset of a specific repository, for projects with multiple repositories)
58 125 Sergey Kovalev
  * *!commit:hg|c6f4d0fd* (link to a changeset with a non-numeric hash of a specific repository)
59 125 Sergey Kovalev
  * *!sandbox:r758* (link to a changeset of another project)
60 125 Sergey Kovalev
  * *!sandbox:commit:c6f4d0fd* (link to a changeset with a non-numeric hash of another project identifier)
61 1 Jean-Philippe Lang
62 125 Sergey Kovalev
* Repository files:
63 1 Jean-Philippe Lang
64 125 Sergey Kovalev
  * *!source:some/file*           -- Link to the file located at /some/file in the project's repository
65 125 Sergey Kovalev
  * *!source:some/file@52*        -- Link to the file's revision 52
66 125 Sergey Kovalev
  * *!source:some/file#L120*      -- Link to line 120 of the file
67 125 Sergey Kovalev
  * *!source:some/file@52#L120*   -- Link to line 120 of the file's revision 52
68 125 Sergey Kovalev
  * *!source:"some file@52#L120"* -- Double quotes can be used when the URL contains spaces  
69 125 Sergey Kovalev
  * *!source:repo_identifier|some/file* -- Link to a file in a repository other than the project default repository. 
70 125 Sergey Kovalev
  * *!source:"repo_identifier|some file"* -- Link to a file in a repository other than the project default repository, with spaces in the path. 
71 125 Sergey Kovalev
  * *!export:some/file*           -- Force the download of the file
72 125 Sergey Kovalev
 
73 125 Sergey Kovalev
* Forums:
74 1 Jean-Philippe Lang
75 125 Sergey Kovalev
  * *!forum#2* (link to forum with id 2)
76 125 Sergey Kovalev
  * *!forum:Discussion* (link to forum with name "Discussion")
77 125 Sergey Kovalev
  * *!forum:"Help and more"* (double quotes can be used when forum name contains spaces)
78 1 Jean-Philippe Lang
79 125 Sergey Kovalev
* Forum messages:
80 1 Jean-Philippe Lang
81 125 Sergey Kovalev
  * *!message#1218* (link to message with id 1218)
82 1 Jean-Philippe Lang
83 125 Sergey Kovalev
* News items
84 1 Jean-Philippe Lang
85 125 Sergey Kovalev
  * *!news#1* (link to news item with id 1)
86 125 Sergey Kovalev
  * *!news:Greetings* (link to news item with name "Greetings")
87 125 Sergey Kovalev
  * *!news:"eCookbook first release !"* (double quotes can be used when news item name contains spaces)
88 1 Jean-Philippe Lang
89 125 Sergey Kovalev
* Projects:
90 1 Jean-Philippe Lang
91 125 Sergey Kovalev
  * *!project#3* (link to project with id 3)
92 125 Sergey Kovalev
  * *!project:someproject* (link to project with name "someproject")
93 125 Sergey Kovalev
  * *!project:"Multiple words project"* (double quotes can be used when project name contains spaces)
94 1 Jean-Philippe Lang
95 125 Sergey Kovalev
Escaping:
96 1 Jean-Philippe Lang
97 125 Sergey Kovalev
* You can prevent Redmine links from being parsed by preceding them with an exclamation mark: !
98 1 Jean-Philippe Lang
99 125 Sergey Kovalev
h3. External links
100 1 Jean-Philippe Lang
101 125 Sergey Kovalev
HTTP URLs are automatically turned into clickable links: 
102 125 Sergey Kovalev
* *http://www.redmine.org* -- External link to the redmine website: http://www.redmine.org
103 125 Sergey Kovalev
* *someone@foo.bar* -- Link to an email address: someone@foo.bar
104 1 Jean-Philippe Lang
105 125 Sergey Kovalev
HTTP URLs can also use different text than the link itself:
106 125 Sergey Kovalev
* *"Redmine web site":http://www.redmine.org* -- External link with different text: "Redmine web site":http://www.redmine.org
107 125 Sergey Kovalev
* *!http://www.redmine.org/attachments/7069/Redmine_logo.png(Redmine web site)!:http://www.redmine.org* -- External image with a title that links to an URL: 
108 125 Sergey Kovalev
109 125 Sergey Kovalev
p=. !http://www.redmine.org/attachments/7069/Redmine_logo.png(Redmine web site)!:http://www.redmine.org
110 125 Sergey Kovalev
111 125 Sergey Kovalev
h3. Email addresses
112 125 Sergey Kovalev
113 125 Sergey Kovalev
Email addresses are automatically turned into clickable links:
114 125 Sergey Kovalev
115 125 Sergey Kovalev
* *"Email someone":mailto:someone@foo.bar* -- Email link with different text: "Email someone":mailto:someone@foo.bar
116 125 Sergey Kovalev
117 125 Sergey Kovalev
More complex email instructions can be added to an email link.  A default subject, default body and CC information can be defined.  Note that spaces in any of these fields need to be replaced with the code %20.
118 125 Sergey Kovalev
* *"Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar* -- Email to webmaster, CC admin:  "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar
119 125 Sergey Kovalev
* *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help* -- Email link with the subject "Website Help": "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help
120 125 Sergey Kovalev
* *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20* -- Email link with the subject "Website Help" and a default body: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20
121 125 Sergey Kovalev
122 125 Sergey Kovalev
h2. Text formatting
123 125 Sergey Kovalev
124 125 Sergey Kovalev
For things such as headlines, bold, tables, lists, Redmine supports "Textile syntax":http://en.wikipedia.org/wiki/Textile_%28markup_language%29.  See http://redcloth.org/hobix.com/textile/ for information on using any of these features.  A few samples are included below, but the engine is capable of much more of that.
125 125 Sergey Kovalev
126 125 Sergey Kovalev
h3. Acronym
127 125 Sergey Kovalev
128 125 Sergey Kovalev
<pre>
129 125 Sergey Kovalev
JPL(Jean-Philippe Lang)
130 125 Sergey Kovalev
</pre>
131 125 Sergey Kovalev
132 125 Sergey Kovalev
Display:
133 125 Sergey Kovalev
134 125 Sergey Kovalev
JPL(Jean-Philippe Lang)
135 125 Sergey Kovalev
136 125 Sergey Kovalev
h3. Font style
137 125 Sergey Kovalev
138 125 Sergey Kovalev
<pre><code>* *bold*
139 125 Sergey Kovalev
* _italic_
140 125 Sergey Kovalev
* *_bold italic_*
141 125 Sergey Kovalev
* +underline+
142 125 Sergey Kovalev
* -strike-through-
143 125 Sergey Kovalev
* Plain ^superscript^
144 125 Sergey Kovalev
* Plain ~subscript~
145 125 Sergey Kovalev
* @inline monospace@
146 125 Sergey Kovalev
* <notextile>normal *bold* _italic_ normal;E=mc ^2^</notextile>
147 125 Sergey Kovalev
* <notextile>normal<notextile></notextile>*bold*<notextile></notextile>_italic_<notextile></notextile>normal;E=mc<notextile></notextile>^2^</notextile>
148 125 Sergey Kovalev
* <notextile>Escaping: <notextile>*bold* _italic_ @inlinemono@</notextile> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternative using HTML-codes: &#42;bold&#42; &#95;italic&#95; &#64;inlinemono&#64;</notextile>
149 125 Sergey Kovalev
* <notextile><pre>*some lines*      some "link":http://www.redmine.org</pre></notextile>
150 125 Sergey Kovalev
* <notextile><pre><notextile></notextile>*some lines*      some "link":http://www.redmine.org</pre></notextile>
151 125 Sergey Kovalev
</code></pre>
152 125 Sergey Kovalev
153 125 Sergey Kovalev
Display:
154 125 Sergey Kovalev
155 125 Sergey Kovalev
 * *bold*
156 125 Sergey Kovalev
 * _italic_
157 125 Sergey Kovalev
 * *_bold italic_*
158 125 Sergey Kovalev
 * +underline+
159 125 Sergey Kovalev
 * -strike-through-
160 125 Sergey Kovalev
 * Plain ^superscript^
161 125 Sergey Kovalev
 * Plain ~subscript~
162 125 Sergey Kovalev
 * @inline monospace@
163 125 Sergey Kovalev
 * normal *bold* _italic_ normal;E=mc ^2^
164 125 Sergey Kovalev
 * normal<notextile></notextile>*bold*<notextile></notextile>_italic_<notextile></notextile>normal;E=mc<notextile></notextile>^2^
165 125 Sergey Kovalev
 * Escaping: <notextile>*bold* _italic_ @inlinemono@</notextile> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alternative using HTML-codes: &#42;bold&#42; &#95;italic&#95; &#64;inlinemono&#64;
166 125 Sergey Kovalev
 * <pre>*some lines*      some "link":http://www.redmine.org</pre>
167 125 Sergey Kovalev
 * <pre><notextile></notextile>*some lines*      some "link":http://www.redmine.org</pre>
168 125 Sergey Kovalev
169 125 Sergey Kovalev
h3. Colour
170 125 Sergey Kovalev
171 125 Sergey Kovalev
<pre><code><notextile>* %{color:red}red% %{color:green}green% %{color:yellow}yellow% %{color:#82B6E1}blue'ish%
172 125 Sergey Kovalev
* %{color:red}red%<notextile></notextile>%{color:green}green%<notextile></notextile>%{color:yellow}yellow%<notextile></notextile>%{color:#82B6E1}blue'ish%
173 125 Sergey Kovalev
* %{background:lightgreen}Lightgreen Background% %{background:yellow}Yellow Background%
174 125 Sergey Kovalev
* %{background:lightgreen}Lightgreen Background%<notextile></notextile>%{background:yellow}Yellow Background%
175 125 Sergey Kovalev
</notextile></code></pre>
176 125 Sergey Kovalev
177 125 Sergey Kovalev
Display:
178 125 Sergey Kovalev
179 125 Sergey Kovalev
 * %{color:red}red% %{color:green}green% %{color:yellow}yellow% %{color:#82B6E1}blue'ish%
180 125 Sergey Kovalev
 * %{color:red}red%<notextile></notextile>%{color:green}green%<notextile></notextile>%{color:yellow}yellow%<notextile></notextile>%{color:#82B6E1}blue'ish%
181 125 Sergey Kovalev
 * %{background:lightgreen}Lightgreen Background% %{background:yellow}Yellow Background%
182 125 Sergey Kovalev
 * %{background:lightgreen}Lightgreen Background%<notextile></notextile>%{background:yellow}Yellow Background%
183 125 Sergey Kovalev
184 125 Sergey Kovalev
h3. Inline images
185 125 Sergey Kovalev
186 125 Sergey Kovalev
* *&#33;image_url&#33;* displays an image located at image_url (textile syntax)
187 125 Sergey Kovalev
* *&#33;>image_url&#33;* right floating image
188 125 Sergey Kovalev
* *&#33;image_url(Image title)&#33;* displays an image with an alt/title attribute
189 125 Sergey Kovalev
* *&#33;image_url&#33;:URL* displays an image located at image_url with link URL added
190 125 Sergey Kovalev
191 125 Sergey Kovalev
If you have an image attached to your wiki page, it can be displayed inline using its filename: *&#33;attached_image.png&#33;*
192 125 Sergey Kovalev
193 125 Sergey Kovalev
You can also apply a CSS style to the image in the same ways as styling SPANs. The code *&#33;{width: 100%}attached_image.png&#33;* will make the image adjusts to the parent's width.
194 125 Sergey Kovalev
195 125 Sergey Kovalev
h3. Headings
196 125 Sergey Kovalev
197 125 Sergey Kovalev
<pre><code>h1. Heading
198 125 Sergey Kovalev
199 125 Sergey Kovalev
h2. Subheading
200 125 Sergey Kovalev
201 125 Sergey Kovalev
h3. Subheading
202 125 Sergey Kovalev
</code></pre>
203 125 Sergey Kovalev
204 125 Sergey Kovalev
Redmine assigns an anchor to each of those headings thus you can link to them with "#Heading", "#Subheading" and so forth.
205 125 Sergey Kovalev
206 125 Sergey Kovalev
h3. Paragraphs
207 125 Sergey Kovalev
208 125 Sergey Kovalev
<pre><code>p. left aligned
209 125 Sergey Kovalev
210 125 Sergey Kovalev
  p(. left ident 1em
211 125 Sergey Kovalev
212 125 Sergey Kovalev
    p((. left ident 2em
213 125 Sergey Kovalev
    as well as for following lines
214 125 Sergey Kovalev
215 125 Sergey Kovalev
                                                                                   p>. right aligned
216 125 Sergey Kovalev
217 125 Sergey Kovalev
                                                                        p)))>. right ident 3em
218 125 Sergey Kovalev
219 125 Sergey Kovalev
                           p=. This is centered paragraph.
220 125 Sergey Kovalev
</code></pre>
221 125 Sergey Kovalev
222 125 Sergey Kovalev
h3. Horizontal rule 
223 125 Sergey Kovalev
224 125 Sergey Kovalev
@----@
225 125 Sergey Kovalev
Display: 
226 125 Sergey Kovalev
227 125 Sergey Kovalev
----
228 125 Sergey Kovalev
229 125 Sergey Kovalev
230 125 Sergey Kovalev
h3. Predefined
231 125 Sergey Kovalev
232 125 Sergey Kovalev
To escape wiki syntax
233 125 Sergey Kovalev
<pre> <pre> *Your text won't become bold* </pre> </pre>
234 125 Sergey Kovalev
Display:
235 125 Sergey Kovalev
236 125 Sergey Kovalev
<pre> *Your text won't become bold* </pre>
237 125 Sergey Kovalev
238 125 Sergey Kovalev
h3. Blockquotes
239 125 Sergey Kovalev
240 125 Sergey Kovalev
Start the paragraph with *bq.*:
241 125 Sergey Kovalev
242 125 Sergey Kovalev
<pre><code>bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
243 125 Sergey Kovalev
To go live, all you need to add is a database and a web server.
244 125 Sergey Kovalev
</code></pre>
245 125 Sergey Kovalev
246 125 Sergey Kovalev
Displays:
247 125 Sergey Kovalev
248 125 Sergey Kovalev
bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
249 125 Sergey Kovalev
To go live, all you need to add is a database and a web server.
250 125 Sergey Kovalev
251 125 Sergey Kovalev
You can also use > at the beginning of each line and stack them for nested quotes:
252 125 Sergey Kovalev
253 125 Sergey Kovalev
<pre>
254 125 Sergey Kovalev
>> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
255 125 Sergey Kovalev
>> To go live, all you need to add is a database and a web server.
256 125 Sergey Kovalev
> Great!
257 125 Sergey Kovalev
</pre>
258 125 Sergey Kovalev
259 125 Sergey Kovalev
Displays:
260 125 Sergey Kovalev
261 125 Sergey Kovalev
>>  Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
262 125 Sergey Kovalev
>>  To go live, all you need to add is a database and a web server.
263 125 Sergey Kovalev
> Great!
264 125 Sergey Kovalev
265 125 Sergey Kovalev
h3. Unordered lists
266 125 Sergey Kovalev
267 125 Sergey Kovalev
<pre>
268 125 Sergey Kovalev
* Item 1
269 125 Sergey Kovalev
* Item 2
270 125 Sergey Kovalev
** Item 21
271 125 Sergey Kovalev
** Item 22
272 125 Sergey Kovalev
* Item 3
273 125 Sergey Kovalev
</pre>
274 125 Sergey Kovalev
275 125 Sergey Kovalev
displays:
276 125 Sergey Kovalev
277 125 Sergey Kovalev
* Item 1
278 125 Sergey Kovalev
* Item 2
279 125 Sergey Kovalev
** Item 21
280 125 Sergey Kovalev
** Item 22
281 125 Sergey Kovalev
* Item 3
282 125 Sergey Kovalev
283 125 Sergey Kovalev
h3. Ordered lists
284 125 Sergey Kovalev
285 125 Sergey Kovalev
<pre>
286 125 Sergey Kovalev
# Item 1
287 125 Sergey Kovalev
# Item 2
288 125 Sergey Kovalev
# Item 3
289 125 Sergey Kovalev
## Item 3.1
290 125 Sergey Kovalev
## Item 3.2
291 125 Sergey Kovalev
</pre>
292 125 Sergey Kovalev
293 125 Sergey Kovalev
displays:
294 125 Sergey Kovalev
295 125 Sergey Kovalev
# Item 1
296 125 Sergey Kovalev
# Item 2
297 125 Sergey Kovalev
# Item 3
298 125 Sergey Kovalev
## Item 3.1
299 125 Sergey Kovalev
## Item 3.2
300 125 Sergey Kovalev
301 125 Sergey Kovalev
h3. Tables
302 125 Sergey Kovalev
303 125 Sergey Kovalev
<pre>
304 125 Sergey Kovalev
|_.UserID      |_.Name          |_.Group     |_. attribute list   |
305 125 Sergey Kovalev
|Starting with | a              |   simple   |row                 |
306 125 Sergey Kovalev
|\3=.IT                                      |<. align left       |
307 125 Sergey Kovalev
|1             |Artur Pirozhkov |/2.Users    |>. align right      |
308 125 Sergey Kovalev
|2             |Vasya Rogov     |=. center   |
309 125 Sergey Kovalev
|3             |John Smith      |Admin
310 125 Sergey Kovalev
                                 (root)      |^. valign top       |
311 125 Sergey Kovalev
|4             |-               |Nobody
312 125 Sergey Kovalev
                                 (anonymous) |~. valign bottom    |
313 125 Sergey Kovalev
</pre>
314 125 Sergey Kovalev
315 125 Sergey Kovalev
displays (all multiple spaces are replaced by 1 space):
316 125 Sergey Kovalev
317 125 Sergey Kovalev
|_.UserID      |_.Name          |_.Group     |_. attribute list   |
318 125 Sergey Kovalev
|Starting with | a              |   simple   |row                 |
319 125 Sergey Kovalev
|\3=.IT                                      |<. align left       |
320 125 Sergey Kovalev
|1             |Artur Pirozhkov |/2.Users    |>. align right      |
321 125 Sergey Kovalev
|2             |Vasya Rogov     |=. center   |
322 125 Sergey Kovalev
|3             |John Smith      |Admin
323 125 Sergey Kovalev
                                 (root)      |^. valign top       |
324 125 Sergey Kovalev
|4             |-               |Nobody
325 125 Sergey Kovalev
                                 (anonymous) |~. valign bottom    |
326 125 Sergey Kovalev
327 125 Sergey Kovalev
If you want to include pipe characters inside your table (e.g. for Wiki links), you need to prevent textile from interpreting them:
328 125 Sergey Kovalev
329 125 Sergey Kovalev
|_.Input |_. Output|
330 125 Sergey Kovalev
|*<notextile><notextile>|</notextile></notextile>*|<notextile>|</notextile>|
331 125 Sergey Kovalev
332 125 Sergey Kovalev
h3. Table of content
333 125 Sergey Kovalev
334 125 Sergey Kovalev
<pre><code>{{toc}} => left aligned toc
335 125 Sergey Kovalev
{{>toc}} => right aligned toc
336 125 Sergey Kovalev
</code></pre>
337 125 Sergey Kovalev
338 125 Sergey Kovalev
Please keep in mind, that the toc-tag needs an empty line above and underneath it and no other text before and after it.
339 125 Sergey Kovalev
340 125 Sergey Kovalev
Example:
341 125 Sergey Kovalev
342 125 Sergey Kovalev
<pre><code>
343 125 Sergey Kovalev
h1. headLineOne
344 125 Sergey Kovalev
345 125 Sergey Kovalev
h2. something
346 125 Sergey Kovalev
347 125 Sergey Kovalev
{{toc}}
348 125 Sergey Kovalev
349 125 Sergey Kovalev
h2. something more
350 125 Sergey Kovalev
</code></pre>
351 125 Sergey Kovalev
352 125 Sergey Kovalev
h2. Macros
353 125 Sergey Kovalev
354 125 Sergey Kovalev
Redmine includes a macros system that lets you add custom functions to insert dynamic content in formatted text. You can learn about writing your own macros in [[RedmineMacros]]. Redmine also includes a few builtin macros:
355 125 Sergey Kovalev
356 125 Sergey Kovalev
{{macro_list}}
357 125 Sergey Kovalev
358 125 Sergey Kovalev
h2. Code highlighting
359 125 Sergey Kovalev
360 125 Sergey Kovalev
Code highlighting relies on "CodeRay":http://coderay.rubychan.de/, a fast syntax highlighting library written completely in Ruby. It currently supports C, C++, CSS, Delphi, Diff, Groovy, HTML, Java, Javascript, JSON, Nitro-XHTML, PHP, Python, RHTML, Ruby, Scheme, SQL, XML and YAML code.
361 125 Sergey Kovalev
362 125 Sergey Kovalev
You can highlight code in your wiki page using this syntax:
363 125 Sergey Kovalev
364 125 Sergey Kovalev
<pre><code><pre><code class="ruby">
365 125 Sergey Kovalev
  Place your code here.
366 125 Sergey Kovalev
</code></pre>
367 125 Sergey Kovalev
</code></pre>
368 125 Sergey Kovalev
369 125 Sergey Kovalev
Example:
370 125 Sergey Kovalev
371 125 Sergey Kovalev
<pre><code class="ruby">
372 125 Sergey Kovalev
# The Greeter class
373 125 Sergey Kovalev
class Greeter
374 125 Sergey Kovalev
  def initialize(name)
375 125 Sergey Kovalev
    @name = name.capitalize
376 125 Sergey Kovalev
  end
377 125 Sergey Kovalev
 
378 125 Sergey Kovalev
  def salute
379 125 Sergey Kovalev
    puts "Hello #{@name}!"
380 125 Sergey Kovalev
  end
381 125 Sergey Kovalev
end
382 125 Sergey Kovalev
</code></pre>
383 125 Sergey Kovalev
384 125 Sergey Kovalev
h2. Textile formatting
385 125 Sergey Kovalev
386 125 Sergey Kovalev
Redmine supports textile formatting. For details see "Textile syntax":http://en.wikipedia.org/wiki/Textile_%28markup_language%29
387 125 Sergey Kovalev
388 125 Sergey Kovalev
Additional supported textiles:
389 125 Sergey Kovalev
* *<notextile>%</notextile>{background:lightgreen}Green Background%* displays %{background:lightgreen}Green Background%
390 125 Sergey Kovalev
391 125 Sergey Kovalev
h2. Translation
392 125 Sergey Kovalev
393 125 Sergey Kovalev
Note that the following translations may not be up to date. Please refer to the original english documentation if needed.
394 125 Sergey Kovalev
395 125 Sergey Kovalev
* [[BrRedmineWikiFormatting|Português Brasileiro]]
396 125 Sergey Kovalev
* [[RusRedmineTextFormatting|Русский]]
397 125 Sergey Kovalev
* [[FrRedmineWikiFormatting|French]]
398 125 Sergey Kovalev
* [[KoreanWikiFormatting|Korean]]
399 125 Sergey Kovalev
* [[TurkishWikiFormatting|Türkçe]]
400 125 Sergey Kovalev
* [[TraditionalChineseWikiFormatting|繁體中文]]
401 125 Sergey Kovalev
* [[SimplifiedChineseWikiFormatting|简体中文]]