Wiki格式
Wiki标记是Trac的一个核心特征, 和其它所有部分紧密结合, 组成一个灵活强大的整体.
Trac有一个内置的小巧强大的Wiki渲染引擎. 该Wiki引擎实现了来自其他Wiki的持续增长的命令子集, 尤其是MoinMoin.
该页演示了Wiki格式的语法.
字体样式
Trac的Wiki支持下列字体样式:
* '''粗体''', '''!''' 一样加粗''', 以及 '''! ''' * ''斜体'' * '''''粗斜体''''' * __下划线__ * {{{块引用}}} 或是 `行引用` * ~~中划线~~ * ^上标^ * ,,下标,,
显示:
- 粗体, ''' 一样加粗, 以及 !
- 斜体
- 粗斜体
- 下划线
- 块引用 或是 行引用
中划线- 上标
- 下标
注意:
- {{{...}}}和`...`命令不仅使用等宽字体, 而且会原封不动地显示其内容. 就是说, 这些文本将不会被Wiki处理.
- ! 告诉Wiki解析器不要将下列字符当作Wiki格式, 因此注意在!后加入一个空格.
标题
你可在一行的开头用1到5个等号("=")来创建标题, 等号后是一个空格, 然后是标题文字. 该行应该以一个空格结束, 后面是同样数量的等号("="). 标题可后面跟一个显式的id, 否则, 将隐含创建一个不容易记忆的id.
例子:
= 标题 = == 副标 == === 有''关'' === === 详标号 === #using-explicit-id-in-heading
显示:
标题
副标
有关
详标号
段落
只要两块文字间有一行以上空行时, 就产生了一个新的段落.
要强制分行, 使用下列代码:
Line 1[[BR]]Line 2
显示:
Line 1
Line 2
列表
Wiki支持有序的/编号的列表和无序列表.
例子:
* 条目 1 * 条目 1.1 * 条目 2 1. 条目 1 a. 条目 1.a a. 条目 1.b i. 条目 1.b.i i. 条目 1.b.ii 1. 条目 2 编号列表还可给予一个明显的编号: 3. 条目 3
显示:
- 条目 1
- 条目 1.1
- 条目 2
- 条目 1
- 条目 1.a
- 条目 1.b
- 条目 1.b.i
- 条目 1.b.ii
- 条目 2
编号列表还可给予一个明显的编号:
- 条目 3
注意在列表符号前必须有一个以上空格, 否则该列表会被当作一个普通的段落.
定义列表
Wiki也支持定义列表.
例子:
羊驼:: 一种哺乳动物,有头发 蠎:: 一种爬行动物,没有头发 (你可辨认它们?)
显示:
- 羊驼
- 一种哺乳动物,有头发
- 蠎
- 一种爬行动物,没有头发 (你可辨认它们?)
注意, 在定义的术语前你需要一个空格.
预格式的文本
代码块包含了源代码片断, 注解和例子的预格式的文本. 用三个花括号来定义. 花括号要在单独的行上.
例子:
{{{ def HelloWorld(): print "Hello World" }}}
显示:
def HelloWorld(): print "Hello World"
块引用
要将一个段落标记为一个块引用, 将该段缩进两个空格.
例子:
此文本是种块级引用
显示:
此文本是种块级引用
讨论引用
要在一个正在进行的讨论贴中定义一个引用, 例如在传票的评论区域, 可以用类似邮件中的引用标记, 例如">", ">>", 等等.
例子:
>> 某人的原话 > 某人的回复 俺的回复
显示:
某人的原话
某人的回复
俺的回复
注意: 一些Wiki格式元素, 例如列表和预格式的文本, 在引用区域中消失了. 可以重新组织格式以创建清晰的引用.
表格
如下方式创建简单的表格:
||Cell 1||Cell 2||Cell 3|| ||Cell 4||Cell 5||Cell 6||
显示:
Cell 1 | Cell 2 | Cell 3 |
Cell 4 | Cell 5 | Cell 6 |
注意, 可以用新结构化文本创建更复杂的表格.
链接
Wiki页面名和URL的超链接是自动创建的. 如果前面加入一个感叹号"!", 可禁用Wiki页面链接.
例子:
TitleIndex, http://www.edgewall.com/, !NotAlink
显示:
TitleIndex, http://www.edgewall.com/, NotAlink
通过在该链接后面增加空格和一个标题, 可以给链接一个更具描述性的标题, 所有内容都被一对方括号包围. 如果省略描述性的标题, 而该链接又不是一个外部链接的话, 显式的前缀被删掉. 对于不符合Wiki页面名协定的Wiki页面尤其有用.
例子:
* [http://www.edgewall.com/ Edgewall Software] * [wiki:TitleIndex Title Index] * [wiki:ISO9000]
显示:
Trac链接
Wiki页面可以直接链接到Trac系统的其他部分. 页面可以引用传票, 报表, 变更集, 里程碑, 源文件和其他使用下列符号的Wiki页面:
* 传票: #1 or ticket:1 * 报表: {1} or report:1 * 变更集: r1, [1] or changeset:1 * ...
显示:
想知道更深入的信息, 请参考Trac链接.
转义链接和Wiki页面名称
如果表达式前面加入一个感叹号"!", 你可以避免链接应用Trac链接. 例子:
!NoHyperLink !#42 is not a link
显示:
NoHyperLink
#42 is not a link
图像
不再将以.png, .gif或.jpg结尾的URL自动解释为图像链接, 并转换为<img>标签.
现在你必须使用[[Image]]宏. 请看下面.
除了当前页, 还可以引用其他资源:
- [[Image(wiki:WikiFormatting:picture.gif)]] (引用其他页面的附件)
- [[Image(ticket:1:picture.gif)]] (引用传票的附件)
- [[Image(htdocs:picture.gif)]] (引用项目的htdocs中的一个文件)
- [[Image(source:/trunk/trac/htdocs/trac_logo_mini.png)]] (仓库中的一个文件)
关于[[Image()]]宏的更多信息参见 ZhWikiMacros Wiki宏?.
Wiki宏
Wiki宏是在一个页面中插入动态内容的自定义函数.
例子:
[[RecentChanges(Trac,3)]]
显示:
更多信息请见Wiki宏和已安装的宏的列表.
解析器
Trac支持使用Wiki解析器的标记格式. 例如, 用新结构化文本或HTML解析器来写页面.
例子1:
{{{ #!html <h1 style="text-align: right; color: blue">HTML Test</h1> }}}
显示:
HTML Test
例子:
{{{ #!python class Test: def __init__(self): print "Hello World" if __name__ == '__main__': Test() }}}
显示:
class Test: def __init__(self): print "Hello World" if __name__ == '__main__': Test()
Perl:
my ($test) = 0; if ($test > 0) { print "hello"; }
更多信息见Wiki解析器.
评论
可以在纯文本中增加评论. 这些评论将不会被渲染, 而且不会在纯文本之外显示出来.
{{{ #!comment Your comment here }}}
杂项
四个以上的破折号将生成一个水平线(<HR>)
例子:
----
显示:
原文版本: WikiFormatting
相关信息:Trac链接处理, Trac导览, html, Wiki宏, Wiki解析器, 语法高亮.
See also: TracLinks, TracGuide, WikiHtml, WikiMacros, WikiProcessors, TracSyntaxColoring