Textile 格式化

以下是 Textile 的格式化信息. 有关 Markdown 的格式化信息请参见 RedmineTextFormattingMarkdown.
有关当前Textile支持的限制,请参见 #6269, #10078 (Definition Lists).

链接

Redmine 链接

在任何使用文本格式的地方,Redmine都允许在资源(wiki页面、问题、文档、...)间建立超链接。

Wiki链接

  • [[Guide]] 显示一个页面名为'Guide'的链接: Guide
  • [[Guide#further-reading]] 将你带到 "further-reading" 锚点. 标题被自动赋予锚点,因此你可以引用它们: Guide
  • [[Guide|User manual]] 使用不同的文字显示同一个页面的链接: User manual
  • [[Guide#User-guide|User guide]] 使用不同的文字显示相同页面中某个标题的链接: User guide

您也可以链接到其他项目的Wiki页面(使用项目标识):

  • [[sandbox:some page]] 显示Sandbox项目wiki中的一个名为'Some page'的页面的链接
  • [[sandbox:]] 显示Sandbox项目wiki首页的链接

当页面不存在的时候,Wiki链接会以红色来显示,例如: Nonexistent page

链接至其他资源:

  • 问题:
    • #124 (链接至一个问题:显示 #124,若该问题已结束则会用删除线来表示)
    • #124-6, 或 #124#note-6 (链接至一个问题的说明: 显示 #124-6, 或 #124!#note-6)
  • 文档:
    • document#17 (链接到id为17的文档)
    • document:Greetings (链接到标题为“Greeting”的文档)
    • document:"Some document" (文档标题包含空格时使用双引号来表示)
    • sandbox:document:"Some document" (链接至sandbox项目中标题为“Some document”的文档)
  • 版本:
    • version#3 (链接至id为3的版本)
    • version:1.0.0 (链接到名称为“1.0.0”的版本)
    • version:"1.0 beta 2" (版本名称包含空格时使用双引号来表示)(double quotes can be used when version name contains spaces)
    • sandbox:version:1.0.0 (连接至sandbox项目中的“1.0.0”版本)
  • 附件:
    • attachment:file.zip (链接至当前页面下名为file.zip的附件)
    • attachment:"file name.zip" (文件名包含空格时使用双引号来表示)
    • 目前,只有当前页面下的附件能够被引用(如果您在一个问题中,则仅可以引用此问题下的附件)
  • 变更集:
    • r758 (链接至一个变更集,显示 r758
    • commit:c6f4d0fd (链接至一个非数字哈希的变更集)
    • svn1|r758 (链接至指定配置库中的变更集,用于使用多个配置库的项目)
    • commit:hg|c6f4d0fd (链接至指定配置库中,使用非数字哈希的变更集,此例子中是"hg"配置库下的哈希变更集)
    • sandbox:r758 (链接至其他项目的变更集)
    • sandbox:commit:c6f4d0fd (链接至其他项目中,使用非数字哈希的变更集)
  • 配置库文件:
    • source:some/file (链接至项目配置库中的位于 /some/file 的文件)
    • source:"some file" (链接的文件路径中包含空格)
    • source:some/file@52 (链接至此文件的版本52)
    • source:some/file#L120 (链接至此文件的第120行)
    • source:some/file@52#L120 (链接至此文件52版本的第120行)
    • source:repo_identifier|some/file (链接至其他配置库中的文件,用于使用多个配置库的项目)
    • sandbox:source:some/file (链接到“sandbox”项目中的文件)
    • export:some/file (强制下载此文件,而不是在页面上查看)
  • 论坛:
    • forum#2 (链接至id为2的论坛)
    • forum:Discussion (链接至名称为"Discussion"的论坛)
    • forum:"Help and more" (论坛名称包含空格时使用双引号表示)
  • 论坛消息:
    • message#1218 (链接至id为1218的论坛消息)
  • 新闻
    • news#1 (链接至id为1的新闻)
    • news:Greetings (链接至名称为"Greetings"的新闻)
    • news:"eCookbook first release !" (新闻名称包含空格时,使用双引号来表示)
  • 项目
    • project#3 (链接至id为3的项目)
    • project:someproject (链接至名称为"someproject"的项目)
    • project:"Multiple words project" (项目名称包含空格时,使用双引号来表示)
  • 用户:
    • user:login (链接到用户名为 login 的用户,如果用户名使用email地址,你可能会遇到 #26443)

转义字符:

  • 您可以在文本的前面加上感叹号(!)来避免该文本被解析成Redmine链接

外部链接

URL地址(http, https, ftp 和 ftps)可以被自动转换成可点击的链接: URL地址也可以使用不同的文本来显示:
  • "Redmine官网":http://www.redmine.org -- 以不同的文本显示Redmine官网的外部链接:Redmine官网
  • !http://www.redmine.org/attachments/7069/Redmine_logo.png(Redmine web site)!:http://www.redmine.org -- 用带标题的外部图片来表示一个外部链接:

Redmine web site

链接的 UNC 路径中可使用文件 URI :
  • "\\server\share$":file://///server/share%24 -- 使用文件 URI 的 UNC 路径: \\server\share$
    你需要对特殊字符做 URL 编码: 空格, $, á, é, í, ó, ú, 等等。

Email地址

Email地址能够被自动转换成可点击的链接:

  • someone@foo.bar -- 链接到一个email地址:
  • "Email someone":mailto:someone@foo.bar -- 用不同的文本显示Email链接: Email someone
还可以将更加复杂的指令添加到Email链接中。可以设置默认的主题、正文和抄送地址。但请注意,这些字段里的空格都要编码成%20(详细可参考URL编码)。
  • "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar -- Email给webmaster,抄送给admin: Email webmaster and admin
  • "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help -- 主题为"Website Help"的Email链接: Email someone for help
  • "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20 -- 主题为"Website Help",缺省正文为"My problem is "的Email链接: Email someone for help

文本格式

对于像是标题、粗体、表格、列表等文字格式, Redmine 支持使用 Textile 语法。 可以到 http://redcloth.org/hobix.com/textile/ 查找关于使用这些特性的信息。下面将展示其中的一些常用的语法。

缩写

JPL(Jean-Philippe Lang)

显示:

JPL

字体风格

* *粗体*
* _斜体_
* *_粗体 斜体_*
* +下划线+
* -中划线-
* 文字 ^上标^
* 文字 ~下标~
* @inline monospace@
* 正常字体 *粗体* _斜体_ 正常字体;E=mc ^2^
* 正常字体<notextile></notextile>*粗体*<notextile></notextile>_斜体_<notextile></notextile>正常字体;E=mc<notextile></notextile>^2^
* 转义: <notextile>*粗体* _斜体_ @inlinemono(等宽字体)@</notextile> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  或者使用 HTML 代码:&#42;粗体&#42; &#95;斜体&#95; &#64;inlinemono(等宽字体)&#64;
* <pre>*一些文字*      "一个链接":http://www.redmine.org</pre>
* <pre><notextile></notextile>*一些文字*      "一个链接":http://www.redmine.org</pre>

显示为:

  • 粗体
  • 斜体
  • 粗体 斜体
  • 下划线
  • 中划线
  • 文字 上标
  • 文字 下标
  • inline monospace(等宽字体)
  • 正常字体 粗体 斜体 正常字体;E=mc 2
  • 正常字体粗体斜体正常字体;E=mc2
  • 转义: *粗体* _斜体_ @inlinemono(等宽字体)@       或者用 HTML 代码替代: *粗体* _斜体_ @inlinemono(等宽字体)@
  • *一些文字*      "一个链接":http://www.redmine.org
  • 一些文字      一个链接

加入色彩

* %{color:red}红色% %{color:green}绿色% %{color:yellow}黄色% %{color:#82B6E1}蓝色%
* %{color:red}红色%<notextile></notextile>%{color:green}绿色%<notextile></notextile>%{color:yellow}黄色%<notextile></notextile>%{color:#82B6E1}蓝色%
* %{background:lightgreen}淡绿背景% %{background:yellow}黄色背景%
* %{background:lightgreen}淡绿背景%<notextile></notextile>%{background:yellow}黄色背景%

显示为:

  • 红色 绿色 黄色 蓝色
  • 红色绿色黄色蓝色
  • 淡绿背景 黄色背景
  • 淡绿背景黄色背景

内嵌图片

  • !;image_url!; 显示位于“image_url”路径的图片
  • !;>image_url!; 使图片在页面右侧显示
  • !;image_url(图片名称)!; 改变图片显示的名称为“图片名称”
  • !;image_url!;:URL 显示位于“image_url”路径的图片, 并给图片加上超链接“URL”

你可以上传图片附件到 wiki 页面,然后使用它的文件名作为路径: !;已上传的图片.png!;

你也可以对图片应用CSS风格。代码 !{width: 100%}attached_image.png! 使图片调整为父元素的宽度。

标题

h1. 一级标题

h2. 二级标题

h3. 三级标题

你可以使用“#一级标题”、“#二级标题”等等来链接到这些标题

段落

p. 向左对齐

  p(. 向右缩进一个字母的距离

    p((. 向右缩进两个字母的距离
    (也会对这一行以及接下来的每一行起到作用)

                                                                                   p>. 向右对齐

                                                                        p)))>. 向右缩进三个字母的距离

                           p=. 这一行位于中央

水平分割线

----
显示为:


抑制保留字符

 <pre> *这里的文字不会被加粗* </pre> 

显示为:
 *这里的文字不会被加粗* 

块引用

在段落前加上 bq.

bq. Rails 是应用了 MVC 设计模式的全栈型框架,用于开发数据库支持的 Web 应用程序。
基于 Rails 进行项目开发,需要你准备的只是一个数据库和一个 Web 服务器。

显示为:

Rails 是应用了 MVC 设计模式的全栈型框架,用于开发数据库支持的 Web 应用程序。
基于 Rails 进行项目开发,需要你准备的只是一个数据库和一个 Web 服务器。

你也可以在每一行开头加上“>”来实现引用,并且可以叠加“>”作为二级引用:

>> Rails 是应用了 MVC 设计模式的全栈型框架,用于开发数据库支持的 Web 应用程序。
>> 基于 Rails 进行项目开发,需要你准备的只是一个数据库和一个 Web 服务器。
> 很不错!

显示为:

Rails 是应用了 MVC 设计模式的全栈型框架,用于开发数据库支持的 Web 应用程序。
基于 Rails 进行项目开发,需要你准备的只是一个数据库和一个 Web 服务器。

很不错!

无序列表

* 条目 1
* 条目 2
** 条目 21
** 条目 22
* 条目 3

显示为:

  • 条目 1
  • 条目 2
    • 条目 21
    • 条目 22
  • 条目 3

有序列表

# 条目 1
# 条目 2
# 条目 3
## 条目 3.1
## 条目 3.2

显示为:

  1. 条目 1
  2. 条目 2
  3. 条目 3
    1. 条目 3.1
    2. 条目 3.2

表格

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

显示为:
(多个空格会被 Textile 识别为一个空格)

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

要在表格中使用“|”字符(比如 Wiki 链接),你需要使用下面示例中用到的格式,以防止“|”被 Textile 识别为列分割符。

输入 输出
<notextile>|</notextile> |

如果要规定表格的宽度,你需要在表格定义前写入 table{width:100%}. :

table{width:100%}.
| This table will use
all horizontal space |

本例中表格将扩展到整个页面的宽度 ...

This table will use
all horizontal space

... 与标准宽度的对比:

This table will use
only the required space

目录

{{toc}} => 左对齐目录
{{>toc}} => 右对齐目录

请记住,toc标签要求上下各孔一行,并且前后没有其它文字。

例子:


h1. headLineOne

h2. something

{{toc}}

h2. something more

Redmine 支持宏,能让你添加定制功能,以便中格式化文本中插入动态内容。你可以从RedmineMacros 学习如何写你自己的宏。Redmine也包含了一些内建的宏:

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

代码高亮显示

Redmine 应用的代码高亮显示依赖于 CodeRay 。CodeRay 是完全用 Ruby 语言写的快速代码高亮库,现在支持的语言包括 C、C++、CSS、Delphi、Diff、Groovy、HTML、Java、Javascript、JSON、Nitro-XHTML、PHP、Python、RHTML、Ruby、Scheme、SQL、XML 和 YAML。

使用下面的格式来实现代码高亮显示:

<pre><code class="ruby">
  这里写 Ruby 代码
</code></pre>

示例:

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

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

使用 CSS 修饰文本

Textile 能使用 CSS 修饰文本,如下例:

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 |

显示为:

Three primary colors of light are red, green and blue.

The quick brown fox jumps over the lazy dog.

column 1 column 2

可用的 CSS 属性

Redmine 可使用下列属性。因为安全原因,其它属性不能使用(见 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

翻译

本译文可能滞后于原文的更新。如有必要,请参阅原文:
English