Project

General

Profile

RedmineTextFormatting » History » Version 82

Jean-Philippe Lang, 2012-10-17 21:54

1 68 Jean-Philippe Lang
h1. Text formatting
2 1 Jean-Philippe Lang
3
{{>TOC}}
4
5
h2. Links
6
7 6 Jean-Philippe Lang
h3. Redmine links
8
9 68 Jean-Philippe Lang
Redmine allows hyperlinking between resources (issues, changesets, wiki pages...) from anywhere text formatting is used.
10 1 Jean-Philippe Lang
11 8 Jean-Philippe Lang
* Link to an issue: *!#124* (displays #124, link is striked-through if the issue is closed)
12 6 Jean-Philippe Lang
* Link to a changeset: *!r758* (displays r758)
13 68 Jean-Philippe Lang
* Link to a changeset with a non-numeric hash: *commit:c6f4d0fd* (displays c6f4d0fd).
14 1 Jean-Philippe Lang
15 6 Jean-Philippe Lang
Wiki links:
16 1 Jean-Philippe Lang
17 3 Jean-Philippe Lang
* *[[Guide]]* displays a link to the page named 'Guide': [[Guide]]
18 51 Graham King
* *[[Guide|User manual]]* displays a link to the same page but with different text: [[Guide|User manual]]
19
* *[[Guide#User-guide|User guide]]* displays a link to the header on the same page with different text: [[Guide#User-guide|User guide]]
20 1 Jean-Philippe Lang
21 51 Graham King
You can also link to pages of another project's wiki:
22 3 Jean-Philippe Lang
23 1 Jean-Philippe Lang
* *[[sandbox:some page]]* displays a link to the page named 'Some page' of the Sandbox wiki
24
* *[[sandbox:]]* displays a link to the Sandbox wiki main page
25
26
Wiki links are displayed in red if the page doesn't exist yet, eg: [[Nonexistent page]].
27
28 32 Jean-Philippe Lang
Links to others resources:
29 6 Jean-Philippe Lang
30
* Documents:
31
32
  * *!document#17* (link to document with id 17)
33
  * *!document:Greetings* (link to the document with title "Greetings")
34
  * *!document:"Some document"* (double quotes can be used when document title contains spaces)
35 43 Markus Valle-Klann
  * *!document:some_project:"Some document"* (link to a document in a different project)
36 6 Jean-Philippe Lang
37
* Versions:
38
39
  * *!version#3* (link to version with id 3)
40
  * *!version:1.0.0* (link to version named "1.0.0")
41
  * *!version:"1.0 beta 2"*
42
43 44 Anh Tu Sam
* Projects:
44
45
  * *project#<id>* (link to project with <id>)
46
  * *!project:<identifier>*
47
  * *!project:<name>*
48
49 1 Jean-Philippe Lang
* Attachments:
50 6 Jean-Philippe Lang
  
51
  * *!attachment:file.zip* (link to the attachment of the current object named file.zip)
52 68 Jean-Philippe Lang
  * *!attachment:"file.zip"* (double quotes can be used when the filename contains non word characters)
53 6 Jean-Philippe Lang
  * 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)
54 1 Jean-Philippe Lang
55 14 Jean-Philippe Lang
* Repository files
56
57 39 Yuki Kita
  * *!source:some/file*           -- Link to the file located at /some/file in the project's repository
58
  * *!source:some/file@52*        -- Link to the file's revision 52
59
  * *!source:some/file#L120*      -- Link to line 120 of the file
60
  * *!source:some/file@52#L120*   -- Link to line 120 of the file's revision 52
61 77 Thomas Themel
  * *!source:"some file@52#L120"* -- Double quotes can be used when the URL contains spaces  
62
  * *!source:repo_identifier|some/file* -- Link to a file in a repository other than the project default repository. 
63
  * *!source:"repo_identifier|some file"* -- Link to a file in a repository other than the project default repository, with spaces in the path. 
64 1 Jean-Philippe Lang
  * *!export:some/file*           -- Force the download of the file
65 77 Thomas Themel
 
66 14 Jean-Philippe Lang
67 32 Jean-Philippe Lang
Escaping:
68 6 Jean-Philippe Lang
69
* You can prevent Redmine links from being parsed by preceding them with an exclamation mark: !
70
71 42 Andrew Quach Huynh
h3. External links
72 5 Jean-Philippe Lang
73
HTTP URLs and email addresses are automatically turned into clickable links: 
74 47 Ian Epperson
* *http&#58;//www.redmine.org* -- External link to the redmine website: http://www.redmine.org
75
* *someone&#64;foo.bar* -- Link to an email address: someone@foo.bar
76 5 Jean-Philippe Lang
77 51 Graham King
HTTP URLs and email addresses can also use different text than the link itself:
78 47 Ian Epperson
* *"Redmine web site"&#58;http&#58;//www.redmine.org* -- External link with different text: "Redmine web site":http://www.redmine.org
79 70 Jean-Philippe Lang
* *!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: 
80
81
p=. !http://www.redmine.org/attachments/7069/Redmine_logo.png(Redmine web site)!:http://www.redmine.org
82
83 47 Ian Epperson
* *"Email someone"&#58;mailto&#58;someone&#64;foo.bar* -- Email link with different text: "Email someone":mailto:someone@foo.bar
84 1 Jean-Philippe Lang
85 48 Ian Epperson
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.
86
* *"Email webmaster and admin"&#58;mailto&#58;webmaster&#64;foo.bar?cc=admin&#64;foo.bar* -- Email to webmaster, CC admin:  "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar
87
* *"Email someone for help"&#58;mailto&#58;someone&#64;foo.bar?subject=Website%20Help* -- Email link with the subject "Website Help": "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help
88
* *"Email someone for help"&#58;mailto&#58;someone&#64;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
89
90 1 Jean-Philippe Lang
h2. Text formatting
91 10 John Goerzen
92 67 Jean-Philippe Lang
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.
93 1 Jean-Philippe Lang
94 38 ha thach
h3. Acronym
95
96
<pre>
97
JPL(Jean-Philippe Lang)
98
</pre>
99
100
Display:
101
102
JPL(Jean-Philippe Lang)
103
104 1 Jean-Philippe Lang
h3. Font style
105
106
<pre><code>* *bold*
107
* _italic_
108 19 Pavel Schichko
* *_bold italic_*
109 1 Jean-Philippe Lang
* +underline+
110
* -strike-through-
111 45 Ian Epperson
* Plain ^superscript^
112
* Plain ~subscript~
113 63 Colin Sullivan
* @inline monospace@
114 1 Jean-Philippe Lang
</code></pre>
115
116
Display:
117
118
 * *bold*
119
 * _italic_
120 19 Pavel Schichko
 * *_bold italic_*
121 1 Jean-Philippe Lang
 * +underline+
122
 * -strike-through-
123 45 Ian Epperson
 * Plain ^superscript^
124
 * Plain ~subscript~
125 63 Colin Sullivan
 * @inline monospace@
126 1 Jean-Philippe Lang
127
h3. Inline images
128 9 Jean-Philippe Lang
129 1 Jean-Philippe Lang
* *&#33;image_url&#33;* displays an image located at image_url (textile syntax)
130
* *&#33;>image_url&#33;* right floating image
131 66 Jean-Philippe Lang
* *&#33;image_url(Image title)&#33;* displays an image with an alt/title attribute
132 73 Dieter Egert
* *&#33;image_url&#33;:URL* displays an image located at image_url with link URL added
133 18 samir djouadi
134 15 Jean-Philippe Lang
If you have an image attached to your wiki page, it can be displayed inline using its filename: *&#33;attached_image.png&#33;*
135 1 Jean-Philippe Lang
136 80 Caio Cunha
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.
137
138 1 Jean-Philippe Lang
h3. Headings
139
140
<pre><code>h1. Heading
141 66 Jean-Philippe Lang
142 1 Jean-Philippe Lang
h2. Subheading
143 66 Jean-Philippe Lang
144 1 Jean-Philippe Lang
h3. Subheading
145
</code></pre>
146
147
h3. Paragraphs
148
149 58 Dieter Egert
<pre><code>p. left aligned
150
151 60 Dieter Egert
  p(. left ident 1em
152 58 Dieter Egert
153 60 Dieter Egert
    p((. left ident 2em
154
    as well as for following lines
155 58 Dieter Egert
156 60 Dieter Egert
                                                                                   p>. right aligned
157 58 Dieter Egert
158 60 Dieter Egert
                                                                        p)))>. right ident 3em
159 58 Dieter Egert
160 60 Dieter Egert
                           p=. This is centered paragraph.
161 1 Jean-Philippe Lang
</code></pre>
162
163
h3. Predefined
164
165
To escape wiki syntax
166 58 Dieter Egert
<pre> <pre> *Your text won't become bold* </pre> </pre>
167 36 ha thach
Display:
168 37 ha thach
169 1 Jean-Philippe Lang
<pre> *Your text won't become bold* </pre>
170 38 ha thach
171
h3. Blockquotes
172 37 ha thach
173 60 Dieter Egert
Start the paragraph with *bq.*  or > (also stacked: >>)
174 1 Jean-Philippe Lang
175
<pre><code>bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
176
To go live, all you need to add is a database and a web server.
177
</code></pre>
178
179
Display:
180
181
bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
182
To go live, all you need to add is a database and a web server.
183
184 60 Dieter Egert
>> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
185
To go live, all you need to add is a database and a web server. (starting with >>)
186
187 28 Jean-Philippe Lang
h3. Unordered lists
188
189
<pre>
190
* Item 1
191
* Item 2
192 29 Eric Gallimore
** Item 21
193
** Item 22
194 28 Jean-Philippe Lang
* Item 3
195
</pre>
196
197
displays:
198 1 Jean-Philippe Lang
199 28 Jean-Philippe Lang
* Item 1
200
* Item 2
201 29 Eric Gallimore
** Item 21
202 28 Jean-Philippe Lang
** Item 22
203
* Item 3
204 1 Jean-Philippe Lang
205
h3. Ordered lists
206
207 28 Jean-Philippe Lang
<pre>
208
# Item 1
209
# Item 2
210
# Item 3
211
## Item 3.1
212
## Item 3.2
213 1 Jean-Philippe Lang
</pre>
214 29 Eric Gallimore
215
displays:
216 1 Jean-Philippe Lang
217 20 Kirill Ponomarev
# Item 1
218
# Item 2
219
# Item 3
220 21 Andrew Chaika
## Item 3.1
221
## Item 3.2
222
223 1 Jean-Philippe Lang
h3. Tables
224
225
<pre>
226 71 Dieter Egert
|_.UserID     |_.Name|_.Group|_. attribute list  |
227 72 Dieter Egert
|Starting with| a    |   simple|row |
228 60 Dieter Egert
|\3=.IT               |<. align left|
229
|1|Artur Pirozhkov |/2.Users |>. align right|
230
|2|Vasya Rogov        |=. center |
231 58 Dieter Egert
|3|John Smith |Admin
232
               (root)|^. valign top |
233
|4|-          |Nobody
234
               (anonymous)|~. valign bottom|
235 20 Kirill Ponomarev
</pre>
236 21 Andrew Chaika
237 1 Jean-Philippe Lang
displays (all multiple spaces are replaced by 1 space):
238
239 71 Dieter Egert
|_.UserID     |_.Name|_.Group|_. attribute list   |
240 72 Dieter Egert
|Starting with| a    |   simple|row |
241 60 Dieter Egert
|\3=.IT                |<. align left|
242
|1|Artur Pirozhkov |/2.Users |>. align right|
243
|2|Vasya Rogov         |=. center |
244 58 Dieter Egert
|3|John Smith |Admin
245
               (root)|^. valign top |
246
|4|-          |Nobody
247
               (anonymous)|~. valign bottom|
248 1 Jean-Philippe Lang
249 78 Thomas Themel
If you want to include pipe characters inside your table (e.g. for Wiki links), you need to prevent textile from interpreting them:
250
251
|_.Input |_. Output|
252
|*<notextile><notextile>|</notextile></notextile>*|<notextile>|</notextile>|
253
254 1 Jean-Philippe Lang
h3. Table of content
255
256
<pre><code>{{toc}} => left aligned toc
257
{{>toc}} => right aligned toc
258
</code></pre>
259 7 Jean-Philippe Lang
260 79 Mike Bison
Please keep in mind, that the toc-tag needs an empty line above and underneath it and no other text before and after it.
261
262
Example:
263
264
<pre><code>
265
h1. headLineOne
266
267
h2. something
268
269
{{toc}}
270
271
h2. something more
272
</code></pre>
273
274 7 Jean-Philippe Lang
h2. Macros
275
276 82 Jean-Philippe Lang
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 alse includes a few builtin macros:
277 7 Jean-Philippe Lang
278
{{macro_list}}
279 1 Jean-Philippe Lang
280 4 Jean-Philippe Lang
h2. Code highlighting
281 51 Graham King
282 1 Jean-Philippe Lang
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.
283
284
You can highlight code in your wiki page using this syntax:
285
286 49 Dave Clements
<pre><code><pre><code class="ruby">
287 1 Jean-Philippe Lang
  Place your code here.
288 40 Mischa The Evil
</code></pre>
289 1 Jean-Philippe Lang
</code></pre>
290
291
Example:
292
293
<pre><code class="ruby">
294
# The Greeter class
295
class Greeter
296
  def initialize(name)
297
    @name = name.capitalize
298
  end
299
 
300
  def salute
301
    puts "Hello #{@name}!"
302
  end
303 40 Mischa The Evil
end
304 52 Vladimir Vasilkin
</code></pre>
305
306
h2. Translation
307 1 Jean-Philippe Lang
308 75 Caille Rotie
Note that the following translations may not be up to date. Please refer to the original english documentation if needed.
309 52 Vladimir Vasilkin
310 75 Caille Rotie
* [[RusRedmineTextFormatting|Перевод на русский]]
311
* [[FrRedmineWikiFormatting|French]]