这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
wiki:syntax [2020/04/11 17:28] 勇闯天涯 创建 |
wiki:syntax [2020/04/11 22:10] (当前版本) 勇闯天涯 [内部链接] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ===== 语法 ===== | + | ====== 格式语法说明 ====== |
+ | 我们支持一些简单的标记语言, 以尽最大可能使文档看上去更友好。本页面包含了所有你在编辑页面时可能用到的语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 //编辑本页// 按钮即可。\\ | ||
+ | 如果您是初尝Wiki,那么可以使用 [[playground:playground|Wiki砂箱]] 来尽情挥洒。\\ | ||
+ | |||
+ | ===== 基本文本格式 ===== | ||
+ | |||
+ | DokuWiki支持 **粗体**, //斜体//, __下划线__ 以及 ''等宽体'' 等格式。当然,您也可以 **__//''混合使用''//__** 所有这些格式。 | ||
+ | |||
+ | DokuWiki支持 **粗体**, //斜体//, __下划线__ and ''等宽体'' 等格式。 | ||
+ | 当然,您也可以 **__//''混合使用''//__** 所有这些格式。 | ||
+ | |||
+ | 可以使用 <sub>下标</sub> 和 <sup>上标</sup>。 | ||
+ | |||
+ | 可以使用 <sub>下标</sub> 和 <sup>上标</sup>。 | ||
+ | |||
+ | 您也可以使用 <del>删除线</del> 标记某些信息。 | ||
+ | |||
+ | 您也可以使用 <del>删除线</del> 标记某些信息。 | ||
+ | |||
+ | **段落** 是由空行所建立的。如果您想 **强制建立新行** 而不建立段落,您可以使用两个连续的反斜杠+空格或是回车作为标记。请看样例: | ||
+ | |||
+ | 这是一些有着换行标记的文字。\\ 请注意 | ||
+ | 反斜杠只在回车符之前\\ | ||
+ | 或者在\\ 一个空格之前的时候才有效。 \\而这样就并不起作用。 | ||
+ | |||
+ | 这是一些有着换行标记的文字。\\ 请注意 | ||
+ | 反斜杠只在回车符之前\\ | ||
+ | 或者在\\ 一个空格之前的时候才有效。 \\而这样就并不起作用。 | ||
+ | |||
+ | 请只在必须的时候才使用强制的换行标记。 | ||
+ | |||
+ | ===== 链接 ===== | ||
+ | |||
+ | DokuWiki支持多种形式的链接。 | ||
+ | |||
+ | ==== 外部链接 ==== | ||
+ | |||
+ | 外部链接会被自动地识别: http://www.google.com 或者简单地写作 www.google.com - 当然您也可以为链接设置名字: [[http://www.google.com|链接到google]]. 类似这样的电子邮件地址: <andi@splitbrain.org> 也可以被识别。 | ||
+ | |||
+ | DokuWiki支持多种形式的链接。外部链接会被自动地识别: | ||
+ | http://www.google.com 或者简单地写作 www.google.com | ||
+ | - 当然您也可以为链接设置名字: [[http://www.google.com|链接到google]]。 | ||
+ | 类似这样的电子邮件地址: <andi@splitbrain.org> 也可以被识别。 | ||
+ | |||
+ | ==== 内部链接 ==== | ||
+ | |||
+ | 内部链接可以用方括号创建。您可以只给出链接的地址:[[doku>wiki:pagename]],也可以附加上链接的名字:[[doku>wiki:pagename|我的链接]]。Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。 | ||
+ | |||
+ | 内部链接可以用方括号创建。您可以只给出链接的地址:[[pagename]], | ||
+ | 也可以附加上链接的名字:[[pagename|我的链接]]。 | ||
+ | Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。 | ||
+ | |||
+ | 您可以通过在页面名中使用冒号的方式来使用命名空间。 | ||
+ | |||
+ | 您可以通过在页面名中使用冒号的方式来使用 [[wiki:namespaces|命名空间]]。 | ||
+ | |||
+ | 如果您需要关于**命名空间(namespaces)**的更详细的信息,请参见 [[doku>wiki:namespaces]]。 | ||
+ | |||
+ | 您也可以链接到一个网页内部的某一节,只需要将该节书签的名称以一个#号分隔加在网页的地址后面即可。这是一个连向 [[syntax#internal|本节]] 的链接。 | ||
+ | |||
+ | 这是一个连向 [[syntax#internal|本节]] 的链接。 | ||
+ | |||
+ | 注: | ||
+ | |||
+ | * 到 已存在页面 的链接和到 未存在页面 的链接,其外观是不同的。 | ||
+ | * 默认情况下,DokuWiki不使用 [[wp>CamelCase]] 来自动建立链接,(CamelCase类似于PmWiki中的WikiWord)。但是也可以在 [[doku>config|设置文件]] 中启用它。 Hint: If DokuWiki is a link, then it's enabled. | ||
+ | * 当一节的标题改变时,该节的书签也会改变,因此,请不要太依靠网页内的链接。 | ||
+ | |||
+ | ==== Wiki间链接 ==== | ||
+ | |||
+ | DokuWiki支持 [[doku>wiki:interwiki|Wiki间链接]] ,即到其他wiki的链接。例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: [[wp>Wiki]] | ||
+ | |||
+ | DokuWiki支持 [[interwiki|Wiki间链接]] ,即到其他wiki的链接。 | ||
+ | 例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: [[wp>Wiki]] | ||
+ | |||
+ | ==== Windows共享文件夹 ==== | ||
+ | |||
+ | Windows共享文件夹,例如 [[\\server\share|this]] 也可以被识别。请注意,这只在内部 [[wp>Intranet|局域网]] 等环境中才可能被成功访问。 | ||
+ | |||
+ | Windows共享文件夹,例如 [[\\server\share|this]] 也可以被识别。 | ||
+ | |||
+ | 注: | ||
+ | |||
+ | * 出于安全原因,只有在微软IE浏览器上才能够直接访问Windows共享文件夹。 | ||
+ | |||
+ | |||
+ | ==== 图像链接 ==== | ||
+ | |||
+ | 您也可以用图像来作为一个内部或者外部的链接,只需同时使用链接和图像的语法,如下所示: | ||
+ | |||
+ | [[http://www.php.net|{{wiki:dokuwiki-128.png}}]] | ||
+ | |||
+ | [[http://www.php.net|{{wiki:dokuwiki-128.png}}]] | ||
+ | |||
+ | 请注意:在链接名中使用语法,只有显示图像的语法会被识别,请不要使用其它语法。 | ||
+ | |||
+ | ===== 脚注 ===== | ||
+ | |||
+ | 您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。 | ||
+ | |||
+ | 您可以使用两个连续小括号来添加脚注((看这里,这是一个脚注))。 | ||
+ | |||
+ | ===== 标题段落 ===== | ||
+ | |||
+ | 您可以使用最多达5层的标题来使您的页面更富结构性。如果您使用了三个以上的标题,那么DokuWiki会自动在页面上生成一个名为“本页目录”的标题列表。当然,您也可以关闭这项特性,只需在编辑时在页面里加入 ''<nowiki>~~NOTOC~~</nowiki>'' 字样即可。 | ||
+ | |||
+ | ==== H3标题 ==== | ||
+ | === H4标题 === | ||
+ | == H5标题 == | ||
+ | |||
+ | ==== H3标题 ==== | ||
+ | === H4标题 === | ||
+ | == H5标题 == | ||
+ | |||
+ | 您可以通过连续的4个以上“-”号来创建一条水平分割线: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===== 图像和其它文件 ===== | ||
+ | |||
+ | 您可以使用双大括号来在页面中加入 [[doku>images|图像]] 。您还可以选择是否指定图像的显示大小。 | ||
+ | |||
+ | 原始大小: {{wiki:dokuwiki-128.png}} | ||
+ | |||
+ | 指定宽度: {{wiki:dokuwiki-128.png?50}} | ||
+ | |||
+ | 指定宽度和高度: {{wiki:dokuwiki-128.png?200x50}} | ||
+ | |||
+ | 重新指定宽度和高度的外部图像: {{http://de3.php.net/images/php.gif?200x50}} | ||
+ | |||
+ | 原始大小: {{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}} | ||
+ | {{wiki:dokuwiki-128.png }} | ||
+ | {{ wiki:dokuwiki-128.png }} | ||
+ | |||
+ | 当然,您也可以指定一个图像的名字,将鼠标移到图像上可以看到效果。 | ||
+ | |||
+ | {{ wiki:dokuwiki-128.png |这是图像的名字}} | ||
+ | |||
+ | {{ wiki:dokuwiki-128.png |这是图像的名字}} | ||
+ | |||
+ | 如果您指定的文件名(无论是外部的还是内部的)不是一个图像(''gif,jpeg,png''),那么它将被显示为一个链接。 | ||
+ | |||
+ | ===== 列表 ===== | ||
+ | |||
+ | Dokuwiki支持带编号或不带编号的列表。要使用列表,在文字前加入两个空格,然后使用''*''标志不带编号的列表,用''-''标志带编号的列表。 | ||
+ | |||
+ | * 列表 | ||
+ | * 第二项 | ||
+ | * 下一层 | ||
+ | * 第三项 | ||
+ | |||
+ | - 带编号的列表 | ||
+ | - 第二项 | ||
+ | - 用缩进表示更深的层 | ||
+ | - 完了 | ||
+ | |||
+ | <code> | ||
+ | * 列表 | ||
+ | * 第二项 | ||
+ | * 下一层 | ||
+ | * 第三项 | ||
+ | |||
+ | - 带编号的列表 | ||
+ | - 第二项 | ||
+ | - 用缩进表示更深的层 | ||
+ | - 完了 | ||
+ | </code> | ||
+ | |||
+ | ===== 表情符号 ===== | ||
+ | |||
+ | DokuWiki会将一些常用的 [[wp>emoticon|表情符号]] 转换为图像。除了默认的表情符号以外,您也可以在 ''smiley'' 文件夹中放入更多的表情图,然后在 ''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'..." | ||
+ | |||
+ | <code> | ||
+ | -> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) | ||
+ | "He thought 'It's a man's world'..." | ||
+ | </code> | ||
+ | |||
+ | 请注意:在配置文件中可以禁用这类自动转换。 | ||
+ | |||
+ | ===== 表格 ===== | ||
+ | |||
+ | 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 | | ||
+ | |||
+ | ===== 无格式区块 ===== | ||
+ | |||
+ | 在一段文字的最前面加上 2 个空白,来直接作为「文本框」不对它做加工处理(就像前面那些说明一样)。或者也可以用 ''%%<%%code%%>%%'' 或 ''%%<%%file%%>%%'' 这两个标签(tag)都可以达到类似效果。 | ||
+ | |||
+ | <code> | ||
+ | 这段是用 <code> 产生的,所有空格及所有原始格式都会照样显示,还其本色。 | ||
+ | 就像 <-这个 | ||
+ | |||
+ | 或者 | ||
+ | 方与圆 似刚与柔 | ||
+ | 圆契合于方 | ||
+ | 方契合于圆 | ||
+ | 两心同一点 | ||
+ | </code> | ||
+ | |||
+ | <file> | ||
+ | 这段跟上段很像,但是改用 <file> ,可以把它用在「引述名言(Quote)」效果上。 | ||
+ | | ||
+ | remember, information is not knowledge, | ||
+ | knowledge is not wisdom | ||
+ | wisdom is not truth | ||
+ | truth is not beauty | ||
+ | beauty is not love | ||
+ | love is not music | ||
+ | music is the best | ||
+ | | ||
+ | -- frank zappa | ||
+ | </file> | ||
+ | |||
+ | 若要略过某段内含 WIKI 语法,不对该段文字作任何处理, | ||
+ | 可以使用 ''%%<%%nowiki%%>%%'' 标签或更简单一点用 2 个 ''<nowiki>%%</nowiki>'' 放在该段文字的前后,请参考下面例子: | ||
+ | |||
+ | ''%%<%%nowiki%%>%%''<nowiki>这段字不要用 [[WIKI]] 语法</nowiki>''%%<%%/nowiki%%>%%'' | ||
+ | 或是''<nowiki>%%</nowiki>''%%这段字不要用 [[WIKI]] 语法%%''<nowiki>%%</nowiki>'' | ||
+ | |||
+ | <nowiki> | ||
+ | 这一段包含一些原本会在 WIKI 内有特殊处理,像是 http://www.splitbrain.org 及 **强调语气的文字** ,但是正如所看到的,这里什么都不做任何处理。 | ||
+ | </nowiki> | ||
+ | |||
+ | 您可以看本页的原始写法来察看这一段是怎么写的。 | ||
+ | |||
+ | ===== 语法的高亮度显示 ===== | ||
+ | |||
+ | [[DokuWiki]] 可把原始码语法来做高亮度显示(Syntax Highlighting),来更加具可读性。 | ||
+ | 它采用的是 [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter —— 所以只要 GeSHi 有支持的,DokuWiki 亦可。 | ||
+ | |||
+ | 用法就类似前例的 %%<code>%% ,但要在标签(tag)内指定该原始码所使用的语言。比如 ''<nowiki><code java></nowiki>'' | ||
+ | 举例: | ||
+ | <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. | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | 目前支持的语言有: //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// | ||
+ | |||
+ | ==== 可下载的代码块 ==== | ||
+ | |||
+ | 若您使用上述的「%%<code>%%」或「%%<file>%%」语法,您或許希望让浏览者直接下载该段代码。您可以在语言代码后方指定一個文件名,方便浏览者下载: | ||
+ | |||
+ | <code> | ||
+ | <file php myexample.php> | ||
+ | <?php echo "hello world!"; ?> | ||
+ | </file> | ||
+ | </code> | ||
+ | |||
+ | <file php myexample.php> | ||
+ | <?php echo "hello world!"; ?> | ||
+ | </file> | ||
+ | |||
+ | 若您不想把语法高亮显示出,但想方便浏览者下载,您可以用链接号「-」作语言代码。例如:「%%<code - myfile.foo>%%」。 | ||
+ | |||
+ | ===== 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預設會緩存所有的輸出。有時您並不希望這樣(例如您使用了上述的%%<php>%%語法),便可使用這控制巨集,強制DokuWiki在每次訪問時都重新渲染頁面。 | | ||
+ | |||
+ | ===== 語法附加元件 ===== | ||
+ | |||
+ | 運用[[doku>zh-tw:plugins|附加元件]],可以擴充DokuWiki的語法。附加元件的安裝方法,請見其他相應頁面中說明。本wiki系統使用了下列附加元件: | ||
+ | |||
+ | ~~INFO:syntaxplugins~~ |