Project

General

Profile

Actions

RedmineTextFormatting » History » Revision 86

« Previous | Revision 86/127 (diff) | Next »
Victor Zagorodny, 2012-11-29 09:26


Text formatting

Links

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

  • [[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)
    • document:some_project:"Some document" (link to a document in a different project)
  • 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"
  • Projects:
    • project#<id> (link to project with <id>)
    • project:<identifier>
    • project:<name>
  • 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)
  • 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

Escaping:

  • 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":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:

Redmine web site

Email addresses

Email addresses are automatically turned into clickable links:

  • "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 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)

Display:

JPL

Font style

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

Display:

  • bold
  • italic
  • bold italic
  • underline
  • strike-through
  • Plain superscript
  • Plain subscript
  • inline monospace

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

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.

Predefined

To escape wiki syntax

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

Display:

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

  1. Item 1
  2. Item 2
  3. Item 3
    1. Item 3.1
    2. 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> |

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

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:

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

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:

<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

Translation

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

Updated by Victor Zagorodny about 12 years ago · 86 revisions