====== DokuWiki格式语法说明 ======
[[doku>DokuWiki]] 支持一些简单的标记语言, 以尽最大可能使文档看上去更友好。本页面包含了所有你在编辑页面时可能用到的语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 **编辑本页** 按钮即可。 I如果您是初尝Wiki,那么可以使用 [[playground:playground|Wiki砂箱]] 来尽情挥洒。通过[[doku>toolbar|快捷按钮]],您可以更方便地使用这些标记。
===== 基本文本格式 =====
DokuWiki支持 **粗体**, //斜体//, __下划线__, 删除线 标记某些信息。
您也可以使用 删除线 标记某些信息。
**段落** 是由空行所建立的。如果您想 **强制建立新行** 而不建立段落,您可以使用两个连续的反斜杠+空格或是回车作为标记。请看样例:
这是一些有着换行标记的文字。\\ 请注意
反斜杠只在回车符之前\\
或者在\\ 一个空格之前的时候才有效。 \\而这样就并不起作用。
这是一些有着换行标记的文字。\\ 请注意
反斜杠只在回车符之前\\
或者在\\ 一个空格之前的时候才有效。 \\而这样就并不起作用。
请只在必须的时候才使用强制的换行标记。
===== 链接 =====
DokuWiki支持多种形式的链接。
==== 外部链接 ====
外部链接会被自动地识别:http://www.google.com 或者简单地写作 www.google.com - 当然您也可以为链接设置名字:[[http://www.google.com|链接到google]]。类似这样的电子邮件地址:
==== 图像链接 ====
您也可以用图像来作为一个内部或者外部的链接,只需同时使用链接和[[#images_and_other_files|图像]]的语法,如下所示:
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
[[http://php.net|{{wiki:dokuwiki-128.png}}]]
请注意:在链接名中使用语法,只有显示图像的语法会被识别,请不要使用其它语法。
DokuWiki支持完整的[[#images_and_other_files|图像]]及[#links|链接]]预发,包括调整图像大小、内部和外部的图像链接,以及wiki内链接。
===== 脚注 =====
您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。
您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。
===== 标题段落 =====
您可以使用最多达5层的标题来使您的页面更富结构性。如果您使用了三个以上的标题,那么DokuWiki会自动在页面上生成一个名为“本页目录”的标题列表。当然,您也可以关闭这项特性,只需在编辑时在页面里加入 ''
* 列表
* 第二项
* 下一层
* 第三项
- 带编号的列表
- 第二项
- 用缩进表示更深的层
- 完了
同时可以关注 [[doku>faq:lists|列表项目常见问题解答]].
===== 文本转换 =====
DokuWiki可以将预定义的字符或者字符串转换成图片、其他文本或HTML。
文本到图片的转换,主要用作表情符号。文本到HTML的转换,多用於显示符号替换,但也可以配置为使用其他HTML。
==== 表情符号 ====
DokuWiki会将一些常用的 [[wp>emoticon|表情符号]] 转换为图像。除了默认的表情符号以外,您也可以在 [[doku>Smileys]] 文件夹中放入更多的表情图,然后在 ''conf/smileys.conf'' 中设置它们即可。下面是Dokuwiki包含了的表情图像:
* 8-) %% 8-) %%
* 8-O %% 8-O %%
* :-( %% :-( %%
* :-) %% :-) %%
* =) %% =) %%
* :-/ %% :-/ %%
* :-\ %% :-\ %%
* :-? %% :-? %%
* :-D %% :-D %%
* :-P %% :-P %%
* :-O %% :-O %%
* :-X %% :-X %%
* :-| %% :-| %%
* ;-) %% ;-) %%
* ^_^ %% ^_^ %%
* :?: %% :?: %%
* :!: %% :!: %%
* LOL %% LOL %%
* FIXME %% FIXME %%
* DELETEME %% DELETEME %%
==== 印刷样式 ====
[[DokuWiki]] 可以将特定字符转换为印刷时所用的样式。下面是可以识别的这类字符的列表:
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"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) |
您也可以垂直合并两格或多格。只要在下面的格内输入'':::''即可
^ 标题 1 ^ 标题 2 ^ 标题 3 ^
| (1,1) | 这次示范垂直合并 | (1,3) |
| (2,1) | ::: | (2,3) |
| (3,1) | ::: | (3,3) |
除跨行合并语法'':::''外,单元格中不能包含其他内容。
^ 标题 1 ^ 标题 2 ^ 标题 3 ^
| (1,1) | 这次示范垂直合并 | (1,3) |
| (2,1) | ::: | (2,3) |
| (3,1) | ::: | (3,3) |
您可以对齐表格的文字。只需要添加多余两个的空格在您需要对齐的方向的反向即可:如果需要右对齐,在左边添加两个空格;反之,则在右边添加。在两边均添加空格可以实现中间对齐。
^ 有对齐的表格 ^^^
| 右对齐| 居中 |左对齐 |
|左对齐 | 右对齐| 居中 |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
下面是源文件中的格式:
^ 有对齐的表格 ^^^
| 右对齐| 居中 |左对齐 |
|左对齐 | 右对齐| 居中 |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
注意:不支持垂直对齐
===== 无格式区块 =====
若要略过某段内含 WIKI 语法,不对该段文字作任何处理, 可以使用 %%'' 或 ''
产生的,所有空格及所有原始格式都会照样显示,还其本色。
就像 <-这个
产生的,所有空格及所有原始格式都会照样显示,还其本色。
就像 <-这个
%%'' ,但要在标签(tag)内指定该原始码所使用的语言。比如 ''
'' 举例:
/**
* 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.
}
}
目前支持的语言有: //actionscript, ada, apache, asm, asp, bash, caddcl, cadlisp, c, c_mac, cpp, csharp, css, delphi, html4strict, java, javascript, lisp, lua, mpasm, nsis, objc, oobas, oracle8, pascal, perl, php-brief, php, python, qbasic, smarty, sql, vb, vbnet, visualfoxpro, xml//
==== 可下载的代码块 ====
若您使用上述的 ''%%%%'' 或 ''%%
%%''。
===== 在内容中嵌入HTML或PHP语法 =====
可以在文件里透过加入 ''%%<%%html%%>%%'' or ''%%<%%php%%>%%'' 标签来使用HTML或PHP,比如:
这是一段用 HTML 写的红色字(size=+1)
这是一段用 HTML 写的红色字(size=+1)
22
**请特别注意**:HTML及PHP语法可以在[[config|设定选项]]中决定支持与否。若您的DokuWiki设定不打开这两项功能(可单独打开两者之一功能)那么上面的例子就不会被执行,而是直接显示出来原始写法。
===== RSS/ATOM Feed聚合 =====
DokuWiki能從外部XML feed中聚合數據。為分析這些XML feed,DokuWiki使用了[[http://simplepie.org/|SimplePie]]。凡是SimplePie能理解的格式,都可用於DokuWiki中。您可以更改不同的參數,以改變其渲染。參數之間請用空格隔開:
^ 參數 ^ 描述 ^
| any number | 最多顯示多少項內容;預設值是8。 |
| reverse | 將最新條目顯示在前面。 |
| author | 顯示條目的作者名字。 |
| date | 顯示條目數據。 |
| description| 顯示條目的描述;如果[[doku>config:htmlok|HTML]]被禁用,所有標籤將被過濾掉 |
| //n//[dhm] | 刷新周期,其中,d=日數,h=小時數,m=分。例如,12h=12小時。 |
預設的刷新周期是4小時。小於10分鐘者亦視為10分鐘。DokuWiki通常會提供頁面的暫存版,但這做法不適用於包含動態外部內容的頁面。上面的參數則告訴DokuWiki:若對上一次渲染時間已經過了//刷新周期//,就要重新渲染頁面。
**範例:**
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
===== 控制宏 =====
控制宏会影响DokuWiki对页面的渲染,而自身不输出任何內容。可用的控制宏如下:
^ 宏 ^ 描述|
| %%~~NOTOC~~%% | 如果页面中出现该控制宏,将不会为该页创建目录。 |
| %%~~NOCACHE~~%% | DokuWiki默认会缓存所有的输出。有时您并不希望内容被缓存(例如您使用了上述的%%