RedmineTextFormattingMarkdown » History » Revision 17

« Previous | Revision 17/32 (diff) | Next »
Hiroo Hayashi, 2016-07-23 11:57
sync with [[RedmineTextFormattingTextile]] refs #16373

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.


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:
    • (link to the attachment of the current object named
    • attachment:"file" (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@master (link to the file in branch master)
    • 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")
    • sandbox:source:repo_identifier|some/file (link to the file, with non word characters in the path, of a specific repository 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:
    • Thomas Lecavelier (link to user with id 2)
    • user:jsmith (Link to user with login "jsmith")
    • @jsmith (Link to user with login "jsmith")


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

External links

HTTP URLs are automatically turned into clickable links:

HTTP URLs can also use different text than the link itself:

  • [Redmine web site]( -- External link with different text: Redmine web site
  • [![Redmine web site](]( -- External image with a title that links to an URL:

Redmine web site

Email addresses

Email addresses are automatically turned into clickable links:

  • -- Link to an email address:
  • [Email someone]( -- 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]( -- Email to webmaster, CC admin: Email webmaster and admin
  • [Email someone for help]( -- Email link with the subject "Website Help": Email someone for help
  • [Email someone for help]( -- 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,, 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.


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<notextile></notextile>**bold**<notextile></notextile>_italic_<notextile></notextile>normal;E=mc<sup>2</sup>
* Escaping: \*\*bold\*\* \_italic\_ \`inlinemono\`
* <pre>**some lines**      some [link](</pre>
* <pre>\*\*some lines\*\*      some \[link](http\://www\.redmine\.org)</pre>


  • 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](

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


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


  • 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.


# Heading

## Subheading

### Subheading




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


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 style="padding-left:2em;">
left ident 2em
as well as for following lines

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

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

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


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



Preformatted Text

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


**Your text won't become bold**


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!


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.


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


  • 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


  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.


Markdown does not have syntax for a table. Use an HTML table to write a 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 rowspan="2">4</td><td rowspan="2">-</td><td>Nobody</td><td style="vertical-align:bottom;" rowspan="2">valign bottom</td></tr>


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
valign top
4 - Nobody
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.


h1. headLineOne

h2. something


h2. something more


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:

Sample macro.
Displays a list of all available macros, including description if available.
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
{{child_pages(Foo)}} -- lists all children of page Foo
{{child_pages(Foo, parent=1)}} -- same as above with a link to page Foo
Includes a wiki page. Examples:

{{include(projectname:Foo)}} -- to include a page of a specific project wiki
Inserts of collapsed block of text. Examples:

This is a block of text that is collapsed by default.
It can be expanded by clicking a link.

{{collapse(View details...)
With custom link text.
Displays a clickable thumbnail of an attached image.
Default size is 200 pixels. Examples:

{{thumbnail(image.png, size=300, title=Thumbnail)}} -- with custom title and size
Displays an issue link including additional information. Examples:

{{issue(123)}}                              -- Issue #123: Enhance macro capabilities
{{issue(123, project=true)}}                -- Andromeda - Issue #123: Enhance macro capabilities
{{issue(123, tracker=false)}}               -- #123: Enhance macro capabilities
{{issue(123, subject=false, project=true)}} -- Andromeda - Issue #123
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.


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

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


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

Updated by Hiroo Hayashi almost 8 years ago · 17 revisions