Markdown formatting

Below is Markdown formatting. For Textile formatting see Textile formatting.
Currently HTML tags are not allowed by default. See #15520 and #20497 for details. For other limitations of the current Markdown formatting see #16373 and #21443.

Links

Redmine links

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

Wiki links:

  • [[Guide]] displays a link to the page named 'Guide': Guide
  • [[Guide#further-reading]] takes you to the anchor "further-reading". Headings get automatically assigned anchors so that you can refer to them: Guide
  • [[Guide|User manual]] displays a link to the same page but with different text: User manual
  • [[Guide#User-guide|User guide]] displays a link to the header on the same page with different text: 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 other resources:

  • Issues:
    • #124 (link to an issue: displays #124, link is striked-through if the issue is closed)
    • #124-6, or #124#note-6 (link to an issue note: displays #124-6, or #124#note-6)
  • 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 name.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, displays r758)
    • 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" (link to the file with non word characters in the path)
    • 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:repo_identifier|some/file (link to a file of a specific repository, for projects with multiple repositories)
    • sandbox:source:some/file (link to the file in the project identifier "sandbox")
    • 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)
  • Users:
    • user:login (Link to user with login username, if username is an email you may have this issue #26443)

Escaping:

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

External links

URLs (http, https, ftp and ftps) are automatically turned into clickable links:

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
  • [![Redmine web site](http://www.redmine.org/attachments/7069/Redmine_logo.png)](http://www.redmine.org) -- External image with a title that links to an URL:

Redmine web site

Email addresses

Email addresses are automatically turned into clickable links:

  • someone@foo.bar -- Link to an email address:
  • [Email someone](mailto:someone@foo.bar) -- Email link with different text: Email someone
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
  • [Email someone for help](mailto:someone@foo.bar?subject=Website%20Help) -- Email link with the subject "Website Help": Email someone for help
  • [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

Text formatting

For things such as headlines, bold, tables, lists, Redmine supports Markdown syntax. See http://daringfireball.net/projects/markdown/syntax, http://agea.github.io/tutorial.md/, http://stackoverflow.com/editing-help for information on using any of these features. A few samples are included below, but the engine is capable of much more of that. For conversions see Pandoc. The Redcarpet formatter is used.

Acronym

Not supported by Markdown

Font style

* **bold** __bold__
* *italic* _italic_
* ***bold italic*** ___bold italic___
* <ins>underline</ins>
* <del>strike through</del>
* Plain <sup>superscript</sup>
* Plain <sub>subscript</sub>
* `inline monospace`
* normal **bold** _italic_ normal;E=mc<sup>2</sup>
* normal<strong>bold</strong><em>italic</em>normal;E=mc<sup>2</sup>
* Escaping: \*\*bold\*\* \_italic\_ \`inlinemono\`
* <pre>**some lines**      some [link](http://www.redmine.org)</pre>
* <pre>\*\*some lines\*\*      some \[link](http\://www\.redmine\.org)</pre>

displays:

  • bold bold
  • italic italic
  • bold italic bold italic
  • underline
  • strike-through
  • Plain superscript
  • Plain subscript
  • inline monospace
  • normal bold italic normal;E=mc2
  • normalbolditalicnormal;E=mc2
  • Escaping: *bold* _italic_ `inlinemono`
  • some lines      some link
  • **some lines**      some [link](http://www.redmine.org)

Note: HTML tags need to be allowed to use the HTML tags (<strong>, <em>, <ins>, <del>, <sup>, <sub>). See #15520-16 and #15520-17 for details.

Color

* <span style="color:red">red</span> <span style="color:green">green</span> <span style="color:yellow">yellow</span> <span style="color:#82B6E1">blue'ish</span>
* <span style="color:red">red</span><span style="color:green">green</span><span style="color:yellow">yellow</span><span style="color:#82B6E1">blue'ish</span>
* <span style="background-color:lightgreen">Lightgreen Background</span> <span style="background-color:yellow">Yellow Background</span>
* <span style="background-color:lightgreen">Lightgreen Background</span><span style="background-color:yellow">Yellow Background</span>

displays:

  • red green yellow blue'ish
  • redgreenyellowblue'ish
  • Lightgreen Background Yellow Background
  • Lightgreen BackgroundYellow Background

Note: HTML tags need to be allowed to use the HTML tag (<span>). See #15520-16 and #15520-17 for details.

Inline images

  • ![](image_url) displays an image located at image_url (textile syntax)
  • ![alt text](image_url "optional title") displays an image with an alt/title attribute
  • [![](image_url)](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: ![](attached_image.png).

As of this writing, Markdown has no syntax for specifying the dimensions of an image; if this is important to you, you can use regular HTML <img> tags.

  • <img style="float:right" src="URL"/>
  • <img style="width:100%" src="attached_image.png"/>

Note: HTML tags need to be allowed to use the HTML tag (<img>). See #15520-16 and #15520-17 for details.

Headings

# Heading

## Subheading

### Subheading

or

Heading
=======

Subheading
----------

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

Paragraphs

Markdown does not support alignment of a paragraph. Use <div> tags if you need it.

left aligned
<div style="padding-left:1em;">
left ident 1em
</div>

<div style="padding-left:2em;">
left ident 2em
as well as for following lines
</div>

<div style="text-align:right;">
right aligned
</div>

<div style="padding-right:3em;text-align:right;">
right ident 3em
</div>

<div style="text-align:center;">
This is centered paragraph.
</div>

displays;

left aligned

left ident 1em

left ident 2em
as well as for following lines

right aligned

right ident 3em

This is centered paragraph.

Note: HTML tags need to be allowed to use the HTML tags (<div>). See #15520-16 and #15520-17 for details.

Horizontal rule

----

displays:


Preformatted Text

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

displays:

**Your text won't become bold**

Blockquotes

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

>> 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!

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!

Unordered lists

Unordered lists use asterisks (*), pluses (+), and hyphens (-) as list markers

* Item 1
* Item 2
  * Item 21 (two spaces indentation)
  * Item 22
* Item 3

displays:

  • Item 1
  • Item 2
    • Item 21
    • Item 22
  • Item 3

Ordered lists

Ordered lists use numbers followed by periods.

1. Item 1
3. Item 2
2. Item 3
  1. Item 3.1 (two spaces)
  1. Item 3.2

displays:

  1. Item 1
  2. Item 2
  3. Item 3
    1. Item 3.1
    2. Item 3.2

Note that the actual numbers you use to mark the list have no effect on the output.

Tables

Markdown does not have syntax for a table. Use an HTML table to write a table.

<table>
  <tr><td style="text-align:center;"><strong>UserID</strong></td><td style="text-align:center;"><strong>Name</strong></td><td style="text-align:center;"><strong>Group</strong></td><td style="text-align:center;"><strong>attribute list</strong></td></tr>
  <tr><td>Starting with</td><td>a</td><td>simple</td><td>row</td></tr>
  <tr><td style="text-align:center;" colspan="3">IT</td><td>align left</td></tr>
  <tr><td>1</td><td>Artur Pirozhkov</td><td rowspan="2">Users</td><td style="text-align:right;">align right</td></tr>
  <tr><td>2</td><td>Vasya Rogov</td><td style="text-align:center;">center</td></tr>
  <tr><td rowspan="2">3</td><td rowspan="2">John Smith</td><td>Admin</td><td style="vertical-align:top;" rowspan="2">valign top</td></tr>
  <tr><td>(root)</td></tr>
  <tr><td rowspan="2">4</td><td rowspan="2">-</td><td>Nobody</td><td style="vertical-align:bottom;" rowspan="2">valign bottom</td></tr>
  <tr><td>(anonymous)</td></tr>
</table>

displays;

UserID Name Group attribute list
Starting with a simple row
IT align left
1 Artur Pirozhkov Users align right
2 Vasya Rogov center
3 John Smith Admin
(root)
valign top
4 - Nobody
(anonymous)
valign bottom

Note: HTML tags need to be allowed to use the HTML tags (<table>, <tr>, <td>). See #15520-16 and #15520-17 for details.

Table of content

{{toc}} => left aligned toc
{{>toc}} => right aligned toc

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:

h1. headLineOne

h2. something

{{toc}}

h2. something more

Footnotes

A footnote works very much like a reference-style link: it consists of a marker next to the text, e.g.

This is a sentence.[^1]
and a footnote definition on its own line anywhere within the document, e.g.
[^1]: This is a footnote.

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 also includes a few builtin macros:

hello_world

Sample macro.

macro_list

Displays a list of all available macros, including description if available.

child_pages

Displays a list of child pages. With no argument, it displays the child pages of the current wiki page. Examples:

!{{child_pages}} -- can be used from a wiki page only
!{{child_pages(depth=2)}} -- display 2 levels nesting only
include

Include a wiki page. Example:

!{{include(Foo)}}

or to include a page of a specific project wiki:

!{{include(projectname:Foo)}}
collapse

Inserts of collapsed block of text. Example:

{{collapse(View details...)
This is a block of text that is collapsed by default.
It can be expanded by clicking a link.
}}
thumbnail

Displays a clickable thumbnail of an attached image. Examples:

{{thumbnail(image.png)}}
{{thumbnail(image.png, size=300, title=Thumbnail)}}
sample_macro

Sample macro

Code highlighting

Code highlighting relies on CodeRay, 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:

``` ruby
Place your code here.
```

Example:

# The Greeter class
class Greeter
  def initialize(name)
    @name = name.capitalize
  end

  def salute
    puts "Hello #{@name}!" 
  end
end

Translation

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