DokuWiki 支持一些简单的标记语言, 以尽最大可能使文档看上去更友好。本页面包含了所有你在编辑页面时可能用到的语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 编辑本页 按钮即可。
如果您是初尝Wiki,那么可以使用 Wiki砂箱 来尽情挥洒。
通过快捷按钮,您可以更方便地使用这些标记。
注:本文档由 jiayq84@gmail.com 根据版本的语法说明翻译。
如果您发现什么问题,请您发信告知,谢谢!
DokuWiki支持 粗体, 斜体, 下划线 以及 等宽体 等格式。当然,您也可以 混合使用 所有这些格式。
DokuWiki支持 **粗体**, //斜体//, __下划线__ and ''等宽体'' 等格式。 当然,您也可以 **__//''混合使用''//__** 所有这些格式。
可以使用 下标 和 上标。
可以使用 <sub>下标</sub> 和 <sup>上标</sup>。
您也可以使用 删除线 标记某些信息。
您也可以使用 <del>删除线</del> 标记某些信息。
段落 是由空行所建立的。如果您想 强制建立新行 而不建立段落,您可以使用两个连续的反斜杠+空格或是回车作为标记。请看样例:
这是一些有着换行标记的文字。
请注意
反斜杠只在回车符之前
或者在
一个空格之前的时候才有效。 \\而这样就并不起作用。
这是一些有着换行标记的文字。\\ 请注意 反斜杠只在回车符之前\\ 或者在\\ 一个空格之前的时候才有效。 \\而这样就并不起作用。
请只在必须的时候才使用强制的换行标记。
DokuWiki支持多种形式的链接。
外部链接会被自动地识别: http://www.google.com 或者简单地写作 www.google.com - 当然您也可以为链接设置名字: 链接到google. 类似这样的电子邮件地址: andi@splitbrain.org 也可以被识别。
DokuWiki支持多种形式的链接。外部链接会被自动地识别: http://www.google.com 或者简单地写作 www.google.com - 当然您也可以为链接设置名字: [[http://www.google.com|链接到google]]。 类似这样的电子邮件地址: <andi@splitbrain.org> 也可以被识别。
内部链接可以用方括号创建。您可以只给出链接的地址:pagename,也可以附加上链接的名字:我的链接。Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。
内部链接可以用方括号创建。您可以只给出链接的地址:[[pagename]], 也可以附加上链接的名字:[[pagename|我的链接]]。 Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。
您可以通过在页面名中使用冒号的方式来使用 命名空间。
您可以通过在页面名中使用冒号的方式来使用 [[zh:namespaces|命名空间]]。
如果您需要关于命名空间(namespaces)的更详细的信息,请参见 namespaces。
您也可以链接到一个网页内部的某一节,只需要将该节书签的名称以一个#号分隔加在网页的地址后面即可。这是一个连向 本节 的链接。
这是一个连向 [[syntax#internal|本节]] 的链接。
注:
DokuWiki支持 Wiki间链接 ,即到其他wiki的链接。例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: Wiki
DokuWiki支持 [[interwiki|Wiki间链接]] ,即到其他wiki的链接。 例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: [[wp>Wiki]]
Windows共享文件夹,例如 this 也可以被识别。请注意,这只在内部 局域网 等环境中才可能被成功访问。
Windows共享文件夹,例如 [[\\server\share|this]] 也可以被识别。
注:
您也可以用图像来作为一个内部或者外部的链接,只需同时使用链接和图像的语法,如下所示:
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
请注意:在链接名中使用语法,只有显示图像的语法会被识别,请不要使用其它语法。
您可以使用两个连续小括号来添加脚注1)。
您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。
您可以使用最多达5层的标题来使您的页面更富结构性。如果您使用了三个以上的标题,那么DokuWiki会自动在页面上生成一个名为“本页目录”的标题列表。当然,您也可以关闭这项特性,只需在编辑时在页面里加入 ~~NOTOC~~ 字样即可。
==== H3标题 ==== === H4标题 === == H5标题 ==
您可以通过连续的4个以上“-”号来创建一条水平分割线:
您可以使用双大括号来在页面中加入 图像 。您还可以选择是否指定图像的显示大小。
原始大小: {{wiki:dokuwiki-128.png}}
指定宽度: {{wiki:dokuwiki-128.png?50}}
指定宽度和高度: {{wiki:dokuwiki-128.png?200*50}}
重新指定宽度和高度的外部图像: {{http://de3.php.net/images/php.gif?200x50}}
使用左方或者右方的空格,您可以选择对齐方式:
{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
当然,您也可以指定一个图像的名字,将鼠标移到图像上可以看到效果。
{{ wiki:dokuwiki-128.png |这是图像的名字}}
如果您指定的文件名(无论是外部的还是内部的)不是一个图像(gif,jpeg,png),那么它将被显示为一个链接。
DokuWiki支持带编号或不带编号的列表。要使用列表,在文字前加入两个空格,然后使用*标志不带编号的列表,用-标志带编号的列表。
* 列表
* 第二项
* 下一层
* 第三项
- 带编号的列表
- 第二项
- 用缩进表示更深的层
- 完了
DokuWiki会将一些常用的 表情符号 转换为图像。除了默认的表情符号以外,您也可以在 smiley 文件夹中放入更多的表情图,然后在 conf/smileys.conf 中设置它们即可。下面是DokuWiki包含了的表情图像:
FIXME
DELETEME DokuWiki可以将特定字符转换为印刷时所用的样式。下面是可以识别的这类字符的列表:
→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “He thought 'It's a man's world'…”
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) "He thought 'It's a man's world'..."
如果要将某些文字显示为回复或者评论,可以下面的语法。
I think we should do it > No we shouldn't >> Well, I say we should > Really? >> Yes! >>> Then lets do it!
显示效果如下:
I think we should do it
No we shouldn't
Well, I say we should
Really?
Yes!
Then lets do it!
DokuWiki可以用简单的语法创建表格。
| 标题1 | 标题2 | 标题3 |
|---|---|---|
| (1,1) | (1,2) | (1,3) |
| (2,1) | 展宽的单元格 | |
| (3,1) | (3,2) | (3,3) |
表格的每一行都以分隔符 | (普通行)或者 ^ (标题行)作为开头和结束。
^ 标题1 ^ 标题2 ^ 标题3 ^ | (1,1) | (1,2) | (1,3) | | (2,1) | 展宽的单元格 || | (3,1) | (3,2) | (3,3) |
要水平合并单元格,只需要将后一个单元格设置为空即可,如上面演示的一样。请确保每一行有相同数量的单元格分隔符!
竖直的标题列也是可以实现的:
| 标题1 | 标题2 | |
|---|---|---|
| 标题3 | (1,2) | (1,3) |
| 标题4 | 不再合并单元格 | |
| 标题5 | (2,2) | (2,3) |
可以看到,单元格前面的分隔符决定了单元格的格式。
| ^ 标题1 ^ 标题2 ^ ^ 标题3 | (1,2) | (1,3) | ^ 标题4 | 不再合并单元格 | | ^ 标题5 | (2,2) | (2,3) |
注:垂直合并单元格尚未实现。
您可以对齐表格的文字。只需要添加多余两个的空格在您需要对齐的方向的反向即可:如果需要右对齐,在左边添加两个空格;反之,则在右边添加。在两边均添加空格可以实现中间对齐。
| 有对齐的表格 | ||
|---|---|---|
| 右对齐 | 居中 | 左对齐 |
| 左对齐 | 右对齐 | 居中 |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
下面是源文件中的格式:
^ 有对齐的表格 ^^^ | 右对齐| 居中 |左对齐 | |左对齐 | 右对齐| 居中 | | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
您可以在文章中插入无格式区块,在这些区块中Wiki语法将不起作用。可以有三种方法:在行前加两个以上的空格(前面做样例时用的方法),或者可以使用 Code 或 file 标记。
这是一段被code包围的区块,其中的空格都被保留了:像 <-这样
和code是类似的。不过您可以用这个来表示您引用了一个文件的内容。
要让Wiki语法解释完全失效,可以用 nowiki 标签包围整个区块,或者也可以简单地使用双百分号标记 %%。
这是一段完全没有Wiki语法解释的文字,例如:http://www.splitbrain.org , **粗体**,虽然按照语法书写,但是它们并没有被解释。
如何使用这些标记,请查看这一段的源文件。
DokuWiki 可以将源代码作语法高亮以增加可读性。它使用称作 GeSHi 的通用语法高亮工具(Generic Syntax Highlighter)——所有被GeSHi支持的语言都可以在DokuWiki中得到高亮。使用code标记的方法和上面是类似的,不过需要指定使用的语言,例如: <code java>。
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } }
现在,DokuWiki可以支持的语言有: actionscript, ada, apache, asm, asp, bash, caddcl, cadlisp, c, c_mac, cpp, csharp, css, delphi, html4strict, java, javascript, lisp, lua, nsis, objc, oobas, pascal, perl, php-brief, php, python, qbasic, smarty, sql, vb, vbnet, visualfoxpro, xml
DokuWiki 能够集合外部的XML feed。为了解析这些XML feed,系统使用了SimplePie。就是说,所有的能够被SimplePie理解的格式,都可以在DokuWiki中使用。你可以通过多个参数来改变XML的渲染,参数之间用空格隔开,常用的参数如下:
| 参数 | 描述 |
|---|---|
| any number | 最多显示多少内容项;默认是8 |
| reverse | 首先在feed中显示多少内容项 |
| author | 显示内容项的作者名 |
| date | 显示内容项数据 |
| description | 显示内容项的描述;如果HTML被禁用,那么,所有的tag都被过滤掉 |
| n[dhm] | 刷新周期,其中,d=天数,h=小时数,m=分。例如,12h=12个小时。 |
刷新周期默认是4小时。小于或者等于10分钟均视为10分钟。DokuWiki通常会提供页面的缓存版,显然,这种做法不适用于包含动态的外部内容的页面。上面的参数告诉DokuWiki重新解释页面,如果离上次重新解释的时间已经超出了refresh period。 范例:
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
您可以使用 html 或者 php标记在文档中嵌入HTML或PHP的代码。例如:
<html> 这是 <font color="red" size="+1"> HTML </font> 代码。 </html> <HTML> <p style="border:2px dashed red;">And this is some block HTML</p> </HTML>
这是 <font color="red" size="+1">HTML</font> 代码。
<p style="border:2px dashed red;">And this is some block HTML</p>
<php> echo '由PHP生成的logo:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />'; echo '(generated inline HTML)'; </php> <PHP> echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>'; echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>'; echo '</tr></table>'; </PHP>
echo '由PHP生成的logo:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
echo '(inline HTML)';
echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>'; echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>'; echo '</tr></table>';
请注意: HTML和PHP嵌入的功能默认情况下是被禁用的,在HTML和PHP被禁用的情况下,DokuWiki会直接显示HTML代码和PHP代码,而不是执行它们。
一些语法会影响DokuWiki对页面的解释,可用的控制宏如下:
| Macro | 描述 |
|---|---|
| ~~NOTOC~~ | 如果页面出现该控制宏,将不会创建起内容表格(也就是标题目录) |
| ~~NOCACHE~~ | 这个控制宏将强制DokuWiki不缓冲该页面,也就是说,这个页面每次被访问到时,DokuWiki都会重新解释一遍。——默认的情况下,DokuWiki只输出页面的缓存版;如果不想输出缓存版,可以考虑采用该控制宏。 |
可用过插件扩展DokuWiki的语法。如何安装插件,请参考对应的语法插件的描述页面。本站的DokuWiki目前可用的语法插件如下:
本页面由caii创建,参与完善与补充的人员有:caii .. 欢迎补充。