这是本文档旧的修订版!
目录
DokuWiki格式语法说明
DokuWiki 支持一些简单的标记语言, 以尽最大可能使文档看上去更友好。本页面包含了所有你在编辑页面时可能用到的语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 编辑本页 按钮即可。
如果您是初尝Wiki,那么可以使用 Wiki砂箱 来尽情挥洒。
通过快捷按钮,您可以更方便地使用这些标记。
基本文本格式
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]]。 类似这样的电子邮件地址: <[email protected]> 也可以被识别。
内部链接
内部链接可以用方括号创建。您可以只给出链接的地址:wiki:pagename,也可以附加上链接的名字:我的链接。Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。
内部链接可以用方括号创建。您可以只给出链接的地址:[[pagename]], 也可以附加上链接的名字:[[pagename|我的链接]]。 Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。
您可以通过在页面名中使用冒号的方式来使用 命名空间。
您可以通过在页面名中使用冒号的方式来使用 [[wiki:namespaces|命名空间]]。
如果您需要关于命名空间(namespaces)的更详细的信息,请参见 wiki:namespaces。
您也可以链接到一个网页内部的某一节,只需要将该节书签的名称以一个#号分隔加在网页的地址后面即可。这是一个连向 本节 的链接。
这是一个连向 [[syntax#internal|本节]] 的链接。
注:
- 当一节的标题改变时,该节的书签也会改变,因此,请不要太依靠网页内的链接。
Wiki间链接
DokuWiki支持 Wiki间链接 ,即到其他wiki的链接。例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: Wiki
DokuWiki支持 [[interwiki|Wiki间链接]] ,即到其他wiki的链接。 例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: [[wp>Wiki]]
Windows共享文件夹
Windows共享文件夹,例如 this 也可以被识别。请注意,这只在内部 局域网 等环境中才可能被成功访问。
Windows共享文件夹,例如 [[\\server\share|this]] 也可以被识别。
注:
- 出于安全原因,只有在微软IE浏览器上才能够直接访问Windows共享文件夹。
图像链接
您也可以用图像来作为一个内部或者外部的链接,只需同时使用链接和图像的语法,如下所示:
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
请注意:在链接名中使用语法,只有显示图像的语法会被识别,请不要使用其它语法。
脚注
您可以使用两个连续小括号来添加脚注1)。
您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。
标题段落
您可以使用最多达5层的标题来使您的页面更富结构性。如果您使用了三个以上的标题,那么DokuWiki会自动在页面上生成一个名为“本页目录”的标题列表。当然,您也可以关闭这项特性,只需在编辑时在页面里加入 ~~NOTOC~~
字样即可。
H3标题
H4标题
H5标题
==== 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上的FAQ on list items。
文本轉換
DokuWiki可以將預定義的字符或者字符串轉換成圖片、其他文本或HTML。
文本到圖片的轉換,主要用作表情符號。文本到HTML的轉換,多用於顯示符號替換,但也可以配置爲使用其他HTML。
文本到圖片的轉換
DokuWiki支援一些表情符號。表情符號圖片,都收錄於smiley目錄內。您可透過conf目錄下的smileys.conf檔案,來做更多的設定。
Dokuwiki已內建了一些表情符號,例如輸入「^_^」,就會顯示出大家很熟悉的笑臉:。以下是目前DokuWiki其他內建的表情符號列表:
原始寫法 | 輸出效果 |
---|---|
8-) | |
8-O | |
:-( | |
:-) | |
=) | |
:-/ | |
:-\ | |
:-? | |
:-D | |
:-P | |
:-O | |
:-X | |
:-| | |
;-) | |
:?: | |
:!: | |
LOL | |
FIXME | |
DELETEME |
文本到顯示符號的轉換
DokuWiki可將特定字符轉換爲顯示時所用的樣式。以下是部份可識別字符的例子:
原始寫法 | 輸出效果 |
---|---|
-> | → |
<- | ← |
<-> | ↔ |
=> | ⇒ |
<= | ⇐ |
<=> | ⇔ |
>> | » |
<< | « |
-- | – |
--- | — |
640x480 | 640×480 |
(c) | © |
(tm) | ™ |
(r) | ® |
DokuWiki也可以自動辨別英文引號的開關。例如這一句: “He thought 'It's a man's world'…” 它的原始碼就是:
"He thought 'It's a man's world'..."
您可以到模式文件裏添加顯示符號之轉換。
然而,上述例子中,有三個符號並非來自模式文件。它們是:乘號、英文單引號和英文雙引號。您可到設定選項裏關閉之。
層次標示
有時候(特別是討論時)您想把某些文字(尤爲各次的回覆)標示作不同的層次,您可以使用下列的語法:
我想我們應該這麼做 > 不,我們不該。 >> 嗯,我想我們應該。 > 眞的嗎? >> 當然! >>> 那就做吧!
那麼,DokuWiki便會顯示成:
我想我們應該這麼做
不,我們不該。
嗯,我想我們應該。
眞的嗎?
當然!
那就做吧!
表格
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) |
方法就是直接在「標題3、4、5」前面加上「^」即可。
| ^ 標題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) | (2,3) |
除跨行合併語法「:::」外,單元格中不能包含其他內容。
^ 標題1 ^ 標題2 ^ 標題3 ^ |(1,1)| 這次示範垂直合併 |(1,3)| |(2,1)| ::: |(2,3)| |(3,1)| ::: |(2,3)|
您還可以對齊表格的文字。只要在文本的相反方向添加至少兩個半形空格:如果要靠右對齊,在左邊添加兩個半形空格;反之,則在右邊添加。在兩邊均添加空格,即可以居中對齊。
對齊了的表格 | ||
---|---|---|
靠右對齊 | 居中對齊 | 靠左對齊 |
靠左對齊 | 靠右對齊 | 居中對齊 |
xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
下面是源文件中的樣子:
^ 對齊了的表格 ^^^ | 靠右對齊| 居中對齊 |靠左對齊 | |靠左對齊 | 靠右對齊| 居中對齊 | | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
注意:不支援垂直對齊。
無格式化
若有一段文字,您不要它作格式化處理,要顯示作原來的樣子,請用「<nowiki></nowiki>」標籤包圍這個區域。您也可以使用兩個百分號「%%」。
正如本段示範裏,本來包含了網址:http://www.splitbrain.org,以及**加上格式的文字**,但它沒有給格式化。連表情符號;-)的轉換,也與//__加上格式的文字__//一樣,全都失效了。
<nowiki>正如本段示範裏,本來包含了網址:http://www.splitbrain.org, 以及**加上格式的文字**,但它沒有給格式化。 連表情符號;-)的轉換,也與//__加上格式的文字__//一樣,全都失效了。</nowiki>
代碼區塊
在文字每一行的前方加上兩個半形空格,可使該段文字以「文字方塊」方式顯示出來。在文字方塊裏,所有文字都會無格式化。您也可以用「<code></code>」或「<file></file>」這兩個標籤去做到相同效果。
這是前方加上了兩個半形空格的文字。 即使有**甚麼格式**標示了,它都不會[[格式化]]。
這是沒有格式化的代碼,所有空格都保留下來。就像 <-這樣
這段也非常相似,但 您可以用它來表明 您正在引述(Quote)別人的言論。
這些區塊由下面的源碼產生出來:
這是前方加上了兩個半形空格的文字。 即使有**甚麼格式**標示了,它都不會[[格式化]]。
<code> 這是沒有格式化的代碼,所有空格都保留下來。就像 <-這樣 </code>
<file> 這段也非常相似,但 您可以用它來表明 您正在引述(Quote)別人的言論。 </file>
語法的高亮顯示
DokuWiki可把原始碼語法以高亮模式顯示,使它更易閱讀。它使用GeSHi通用語法高亮器,只要是GeSHi支援的,DokuWiki也支援。用法就類似前例的「<code></code>」標籤,不過您要在標籤內指定該原始碼所使用的語言。例如是「<code java></code>」或「<file java></file>」。示範如下:
/** * 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. } }
目前支援的語言有: 4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript-french, actionscript, actionscript3, ada, algol68, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, epc, ecmascript, eiffel, email, erlang, euphoria, f1, falcon, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, go, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, html5, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, uscript, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
可下載的代碼區塊
若您使用上述的「<code>」或「<file>」語法,您或許希望讓瀏覽者直接下載該段代碼。您可以在語言代碼後方指定一個文件名,方便瀏覽者下載:
<file php myexample.php> <?php echo "hello world!"; ?> </file>
- myexample.php
<?php echo "hello world!"; ?>
若您不想把語法高亮顯示出,但想方便瀏覽者下載,您可以用短折號「-」作語言代碼。例如:「<code - myfile.foo>」。
在內容中嵌入HTML或PHP語法
您可以在文件裏加入「<html>
」或「<php>
」標籤,來使用HTML或PHP語法,比如:
<html> 這是<font color=“red” size=“+1”>用HTML寫的紅色字(size=+1)</font>。 </html>
<html> 這是<font color="red" size="+1">用HTML寫的紅色字(size=+1)</font>。 </html>
<php> echo '由 PHP 所產生的 Logo:'; echo '<img src=“' . $_SERVER['PHP_SELF'] . '?=
' . php_logo_guid() . '" alt="PHP Logo !" />';
</php>
<php> echo '由 PHP 所產生的 Logo:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?= ' . php_logo_guid() . '" alt="PHP Logo !" />'; </php>
請特別注意:您可以在設定選項中,選擇是否支援HTML及PHP語法。若您的DokuWiki設定爲不開啟這兩項功能,那麼上面的例子就無法正常顯示,只會直接顯示出來原始寫法。您也可選擇只開啟兩項功能之一。開啟了這兩項功能後,可能會爲有心破壞的人提供機會,對您的wiki系統甚至主機造成危險。
RSS/ATOM Feed聚合
DokuWiki能從外部XML feed中聚合數據。爲分析這些XML feed,DokuWiki使用了SimplePie。凡是SimplePie能理解的格式,都可用於DokuWiki中。您可以更改不同的參數,以改變其渲染。參數之間請用空格隔開:
參數 | 描述 |
---|---|
any number | 最多顯示多少項內容;預設值是8。 |
reverse | 將最新條目顯示在前面。 |
author | 顯示條目的作者名字。 |
date | 顯示條目數據。 |
description | 顯示條目的描述;如果HTML被禁用,所有標籤將被過濾掉 |
n[dhm] | 刷新周期,其中,d=日數,h=小時數,m=分。例如,12h=12小時。 |
預設的刷新周期是4小時。小於10分鐘者亦視爲10分鐘。DokuWiki通常會提供頁面的暫存版,但這做法不適用於包含動態外部內容的頁面。上面的參數則告訴DokuWiki:若對上一次渲染時間已經過了刷新周期,就要重新渲染頁面。
範例:
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
- 'Potentially Toxic' Chemical Byproduct May Be Present in 1/3 of US Drinking Water 由 EditorDavid (2024/11/24 05:34)
- Verify the Rust's Standard Library's 7,500 Unsafe Functions - and Win 'Financial Rewards' 由 EditorDavid (2024/11/24 02:34)
- Does GitHub Copilot Improve Code Quality? 由 EditorDavid (2024/11/23 23:34)
- More Business School Researchers Accused of Fabricated Findings 由 EditorDavid (2024/11/23 22:34)
- Meta Wants Apple and Google to Verify the Age of App Downloaders 由 EditorDavid (2024/11/23 21:34)
控制巨集
有些語法會影響DokuWiki對頁面的渲染,而自身不輸出任何內容。可用的控制巨集如下:
巨集 | 描述 |
---|---|
~~NOTOC~~ | 如果頁面出現該控制巨集,將不會創建目錄。 |
~~NOCACHE~~ | DokuWiki預設會緩存所有的輸出。有時您並不希望這樣(例如您使用了上述的<php>語法),便可使用這控制巨集,強制DokuWiki在每次訪問時都重新渲染頁面。 |
語法附加元件
運用附加元件,可以擴充DokuWiki的語法。附加元件的安裝方法,請見其他相應頁面中說明。本wiki系統使用了下列附加元件:
- Wrap Plugin 2023-08-13 由 Anika Henke
Universal plugin which combines functionalities of many other plugins. Wrap wiki text inside containers (divs or spans) and give them a class (choose from a variety of preset classes), a width and/or a language with its associated text direction.