Textile formatting¶
Below is Textile formatting. For Markdown formatting see RedmineTextFormattingMarkdown.
For limitations of current Textile support see #6269, #10078 (Definition Lists).
- Table of contents
- Textile formatting
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@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")
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:- http://www.redmine.org -- External link to the redmine website: http://www.redmine.org
- "Redmine web site":http://www.redmine.org -- External link with different text: Redmine web site
- !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:
- "\\server\share$":file://///server/share%24 -- File URI showing UNC path: \\server\share$
You should URL Encodings for special characters like empty space, $, á, é, í, ó, ú, etc.
Email addresses¶
Email addresses are automatically turned into clickable links:
- someone@foo.bar -- Link to an email address: someone@foo.bar
- "Email someone":mailto:someone@foo.bar -- Email link with different text: Email someone
- "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: My problem is
Text formatting¶
For things such as headlines, bold, tables, lists, Redmine supports Textile syntax. 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.
Acronym¶
JPL(Jean-Philippe Lang)
displays:
JPL
Font style¶
* *bold*
* _italic_
* *_bold italic_*
* +underline+
* -strike-through-
* Plain ^superscript^
* Plain ~subscript~
* @inline monospace@
* normal *bold* _italic_ normal;E=mc ^2^
* normal<notextile></notextile>*bold*<notextile></notextile>_italic_<notextile></notextile>normal;E=mc<notextile></notextile>^2^
* Escaping: <notextile>*bold* _italic_ @inlinemono@</notextile> Alternative using HTML-codes: *bold* _italic_ @inlinemono@
* <pre>*some lines* some "link":http://www.redmine.org</pre>
* <pre><notextile></notextile>*some lines* some "link":http://www.redmine.org</pre>
displays:
- bold
- italic
- bold italic
- underline
strike-through- Plain superscript
- Plain subscript
inline monospace
- normal bold italic normal;E=mc 2
- normalbolditalicnormal;E=mc2
- Escaping: *bold* _italic_ @inlinemono@ Alternative using HTML-codes: *bold* _italic_ @inlinemono@
*some lines* some "link":http://www.redmine.org
some lines some link
Color¶
* %{color:red}red% %{color:green}green% %{color:yellow}yellow% %{color:#82B6E1}blue'ish%
* %{color:red}red%<notextile></notextile>%{color:green}green%<notextile></notextile>%{color:yellow}yellow%<notextile></notextile>%{color:#82B6E1}blue'ish%
* %{background:lightgreen}Lightgreen Background% %{background:yellow}Yellow Background%
* %{background:lightgreen}Lightgreen Background%<notextile></notextile>%{background:yellow}Yellow Background%
displays:
- red green yellow blue'ish
- redgreenyellowblue'ish
- Lightgreen Background Yellow Background
- Lightgreen BackgroundYellow Background
Inline images¶
- !image_url! displays an image located at image_url (textile syntax)
- !>image_url! right floating image
- !image_url(Image 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!
You can also apply a CSS style to the image in the same ways as styling SPANs. The code !{width: 100%}attached_image.png! will make the image adjusts to the parent's width.
Headings¶
h1. Heading
h2. Subheading
h3. Subheading
Redmine assigns an anchor to each of those headings thus you can link to them with "#Heading", "#Subheading" and so forth.
Paragraphs¶
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.
displays;
left aligned
left ident 1em
left ident 2em
as well as for following lines
right aligned
right ident 3em
This is centered paragraph.
Horizontal rule¶
----
displays:
Preformatted Text¶
<pre>*Your text won't become bold*</pre>
displays:
*Your text won't become bold*
Blockquotes¶
Start the paragraph with bq.:
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.
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.
You can also 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¶
* Item 1 * Item 2 ** Item 21 ** Item 22 * Item 3
displays:
- Item 1
- Item 2
- Item 21
- Item 22
- Item 3
Ordered lists¶
# Item 1 # Item 2 # Item 3 ## Item 3.1 ## Item 3.2
displays:
- Item 1
- Item 2
- Item 3
- Item 3.1
- Item 3.2
Tables¶
|_.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 |
displays (all multiple spaces are replaced by 1 space):
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 |
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> | | |
If you want to specify the width of the table, you need to put table{width:100%}. just before your table definition:
table{width:100%}. | This table will use all horizontal space |
This way the table will extend to the whole page width ...
This table will use all horizontal space |
... compared with the standard width:
This table will use only the required space |
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¶
Marker:
This is a first word[1] with a footnote. This is a second word[2] with a footnote.
Note: Marker directly attached to word (no space, no dot or any thing else in between).
Definition:
fn1. Footnote for the first word fn2. Footnote for the second word
Note: Each definition on its own line anywhere within the document. Empty lines between definitions.
displays:
This is a first word1 with a footnote.
This is a second word2 with a footnote.
1 Footnote for the first word
2 Footnote for the second word
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 {{child_pages(Foo)}} -- lists all children of page Foo {{child_pages(Foo, parent=1)}} -- same as above with a link to page Foo
include
Includes a wiki page. Examples: {{include(Foo)}} {{include(projectname:Foo)}} -- to include a page of a specific project wiki
collapse
Inserts of collapsed block of text. Examples: {{collapse 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. }}
thumbnail
Displays a clickable thumbnail of an attached image. Default size is 200 pixels. Examples: {{thumbnail(image.png)}} {{thumbnail(image.png, size=300, title=Thumbnail)}} -- with custom title and size
issue
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
Sample macro
Code highlighting¶
Default code highlightment relies on Rouge, a syntax highlighting library written in pure Ruby. It supports many commonly used languages such as c, cpp (c++), csharp (c#, cs), css, diff (patch, udiff), go (golang), groovy, html, java, javascript (js), kotlin, objective_c (objc), perl (pl), php, python (py), r, ruby (rb), sass, scala, shell (bash, zsh, ksh, sh), sql, swift, xml and yaml (yml) languages, where the names inside parentheses are aliases. Please refer to RedmineCodeHighlightingLanguages for the full list of supported languages.
You can highlight code in your wiki page using this syntax:
<pre><code class="ruby">
Place your code here.
</code></pre>
Example:
# The Greeter class
class Greeter
def initialize(name)
@name = name.capitalize
end
def salute
puts "Hello #{@name}!"
end
end
Styling text using CSS¶
Textile can style text using CSS. Examples as follows:
Three primary colors of light are %{color: #f00}red%, %{color: #0f0}green% and %{color: #00f}blue%. p{border: solid 1px #000; padding: 0.5em;}. The quick brown fox jumps over the lazy dog. table{width: 100%}. |={width: 30%; background-color: #aaf;}. column 1 |={width: 70%}. column 2 |
displays:
Three primary colors of light are red, green and blue.
The quick brown fox jumps over the lazy dog.
column 1 | column 2 |
Allowed CSS properties¶
Redmine allows the following properties. Other properties are not allowed for security reasons (see r2192).
- background
- background-*
- border
- border-*
- color
- float
- font
- font-*
- height
- margin
- margin-*
- max-height
- max-width
- min-height
- min-width
- padding
- padding-*
- text
- text-*
- width
Translation¶
Note that the following translations may not be up to date. Please refer to the original english documentation if needed.
Updated by Andrea Ludin almost 3 years ago · 14 revisions