RedmineTextFormatting » History » Version 101

Version 100 (DongSeok Oh, 2013-12-30 12:34) → Version 101/127 (Il Igid, 2014-03-12 19:16)

h1. Text formatting

{{>TOC}}

h2. Links

h3. Redmine links

Redmine allows hyperlinking between resources (issues, changesets, wiki pages...) from anywhere text formatting is used.

* Link to an issue: *!#124* (displays #124, link is striked-through if the issue is closed)
* Link to an issue note: *!#124-6*, or *!#124!#note-6*
* Link to a changeset: *!r758* (displays r758)
* Link to a changeset with a non-numeric hash: *commit:c6f4d0fd* (displays c6f4d0fd).

Wiki links:

* *[[Guide]]* displays a link to the page named 'Guide': [[Guide]]
* *[[Guide|User manual]]* displays a link to the same page but with different text: [[Guide|User manual]]
* *[[Guide#User-guide|User guide]]* displays a link to the header on the same page with different text: [[Guide#User-guide|User guide]]

You can also link to pages of another project's wiki (using the project identifier):

* *[[sandbox:some page]]* displays a link to the page named 'Some page' of the Sandbox wiki
* *[[sandbox:]]* displays a link to the Sandbox wiki main page

Wiki links are displayed in red if the page doesn't exist yet, eg: [[Nonexistent page]].

Links to others resources:

* Documents:

* *!document#17* (link to document with id 17)
* *!document:Greetings* (link to the document with title "Greetings")
* *!document:"Some document"* (double quotes can be used when document title contains spaces)
* *!sandbox:document:"Some document"* (link to a document with title "Some document" in project identifier "sandbox")

* Versions:

* *!version#3* (link to version with id 3)
* *!version:1.0.0* (link to version named "1.0.0")
* *!version:"1.0 beta 2"* (double quotes can be used when version name contains spaces)
* *!sandbox:version:1.0.0* (link to version "1.0.0" in the project identifier "sandbox")

* Attachments:

* *!attachment:file.zip* (link to the attachment of the current object named file.zip)
* *!attachment:"file.zip"* (double quotes can be used when the filename contains non word characters)
* 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)

* Changesets:

* *!r758* (link to a changeset)
* *!commit:c6f4d0fd* (link to a changeset with a non-numeric hash)
* *!svn1|r758* (link to a changeset of a specific repository, for projects with multiple repositories)
* *!commit:hg|c6f4d0fd* (link to a changeset with a non-numeric hash of a specific repository)
* *!sandbox:r758* (link to a changeset of another project)
* *!sandbox:commit:c6f4d0fd* (link to a changeset with a non-numeric hash of another project identifier)

* Repository files:

* *!source:some/file* -- Link to the file located at /some/file in the project's repository
* *!source:some/file@52* -- Link to the file's revision 52
* *!source:some/file#L120* -- Link to line 120 of the file
* *!source:some/file@52#L120* -- Link to line 120 of the file's revision 52
* *!source:"some file@52#L120"* -- Double quotes can be used when the URL contains spaces
* *!source:repo_identifier|some/file* -- Link to a file in a repository other than the project default repository.
* *!source:"repo_identifier|some file"* -- Link to a file in a repository other than the project default repository, with spaces in the path.
* *!export:some/file* -- Force the download of the file

* Forums:

* *!forum#2* (link to forum with id 2)
* *!forum:Discussion* (link to forum with name "Discussion")
* *!forum:"Help and more"* (double quotes can be used when forum name contains spaces)

* Forum messages:

* *!message#1218* (link to message with id 1218)

* News items

* *!news#1* (link to news item with id 1)
* *!news:Greetings* (link to news item with name "Greetings")
* *!news:"eCookbook first release !"* (double quotes can be used when news item name contains spaces)

* Projects:

* *!project#3* (link to project with id 3)
* *!project:someproject* (link to project with name "someproject")
* *!project:"Multiple words project"* (double quotes can be used when project name contains spaces)

Escaping:

* You can prevent Redmine links from being parsed by preceding them with an exclamation mark: !

h3. External links

HTTP URLs are automatically turned into clickable links:
* *http://www.redmine.org* -- External link to the redmine website: http://www.redmine.org
* *someone@foo.bar* -- Link to an email address: someone@foo.bar

HTTP URLs can also use different text than the link itself:
* *"Redmine web site":http://www.redmine.org* -- External link with different text: "Redmine web site":http://www.redmine.org
* *!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:

p=. !http://www.redmine.org/attachments/7069/Redmine_logo.png(Redmine web site)!:http://www.redmine.org

h3. Email addresses

Email addresses are automatically turned into clickable links:

* *"Email someone":mailto:someone@foo.bar* -- Email link with different text: "Email someone":mailto:someone@foo.bar

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.
* *"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
* *"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
* *"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

h2. Text formatting

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.

h3. Acronym

<pre>
JPL(Jean-Philippe Lang)
</pre>

Display:

JPL(Jean-Philippe Lang)

h3. Font style

<pre><code>* *bold*
* _italic_
* *_bold italic_*
* +underline+
* -strike-through-
* Plain ^superscript^
* Plain ~subscript~
* @inline monospace@
</code></pre>

Display:

* *bold*
* _italic_
* *_bold italic_*
* +underline+
* -strike-through-
* Plain ^superscript^
* Plain ~subscript~
* @inline monospace@

h3. Inline images

* *&#33;image_url&#33;* displays an image located at image_url (textile syntax)
* *&#33;>image_url&#33;* right floating image
* *&#33;image_url(Image title)&#33;* displays an image with an alt/title attribute
* *&#33;image_url&#33;:URL* displays an image located at image_url with link URL added

If you have an image attached to your wiki page, it can be displayed inline using its filename: *&#33;attached_image.png&#33;*

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.

h3. Headings

<pre><code>h1. Heading

h2. Subheading

h3. Subheading
</code></pre>

Redmine assigns an anchor to each of those headings thus you can link to them with "#Heading", "#Subheading" and so forth.

h3. Paragraphs

<pre><code>p. left aligned

p(. left ident 1em

p((. left ident 2em
as well as for following lines

p>. right aligned

p)))>. right ident 3em

p=. This is centered paragraph.
</code></pre>

h3. Horizontal rule

@----@
Display:

----

h3. Predefined

To escape wiki syntax
<pre> <pre> *Your text won't become bold* </pre> </pre>
Display:

<pre> *Your text won't become bold* </pre>

h3. Blockquotes

Start the paragraph with *bq.*:

<pre><code>bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
To go live, all you need to add is a database and a web server.
</code></pre>

Displays:

bq. Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
To go live, all you need to add is a database and a web server.

You can also use > at the beginning of each line and stack them for nested quotes:

<pre>
>> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
>> To go live, all you need to add is a database and a web server.
> Great!
</pre>

Displays:

>> Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.
>> To go live, all you need to add is a database and a web server.
> Great!

h3. Unordered lists

<pre>
* Item 1
* Item 2
** Item 21
** Item 22
* Item 3
</pre>

displays:

* Item 1
* Item 2
** Item 21
** Item 22
* Item 3

h3. Ordered lists

<pre>
# Item 1
# Item 2
# Item 3
## Item 3.1
## Item 3.2
</pre>

displays:

# Item 1
# Item 2
# Item 3
## Item 3.1
## Item 3.2

h3. Tables

<pre>
|_.UserID |_.Name |_.Group |_. attribute list |
|Starting with | a | simple |row |
|\3=.IT |<. align left |
|1 |Artur Pirozhkov |/2.Users |>. align right |
|2 |Vasya Rogov |=. center |
|3 |John Smith |Admin
(root) |^. valign top |
|4 |- |Nobody
(anonymous) |~. valign bottom |
</pre>

displays (all multiple spaces are replaced by 1 space):

|_.UserID |_.Name |_.Group |_. attribute list |
|Starting with | a | simple |row |
|\3=.IT |<. align left |
|1 |Artur Pirozhkov |/2.Users |>. align right |
|2 |Vasya Rogov |=. center |
|3 |John Smith |Admin
(root) |^. valign top |
|4 |- |Nobody
(anonymous) |~. valign bottom |

If you want to include pipe characters inside your table (e.g. for Wiki links), you need to prevent textile from interpreting them:

|_.Input |_. Output|
|*<notextile><notextile>|</notextile></notextile>*|<notextile>|</notextile>|

h3. Table of content

<pre><code>{{toc}} => left aligned toc
{{>toc}} => right aligned toc
</code></pre>

Please keep in mind, that the toc-tag needs an empty line above and underneath it and no other text before and after it.

Example:

<pre><code>
h1. headLineOne

h2. something

{{toc}}

h2. something more
</code></pre>

h2. Macros

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:

{{macro_list}}

h2. Code highlighting

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.

You can highlight code in your wiki page using this syntax:

<pre><code><pre><code class="ruby">
Place your code here.
</code></pre>
</code></pre>

Example:

<pre><code class="ruby">
# The Greeter class
class Greeter
def initialize(name)
@name = name.capitalize
end

def salute
puts "Hello #{@name}!"
end
end
</code></pre>

h2. Textile formatting

Redmine supports textile formatting. For details see "Textile syntax":http://en.wikipedia.org/wiki/Textile_%28markup_language%29

Additional supported textiles:
* *<notextile>%</notextile>{background:lightgreen}Green Background%* displays %{background:lightgreen}Green Background%



h2. Translation

Note that the following translations may not be up to date. Please refer to the original english documentation if needed.

* [[RusRedmineTextFormatting|Перевод на русский]]
* [[FrRedmineWikiFormatting|French]]
* [[KoreanWikiFormatting|Korean]]