====== Syntax-CN ======
目前此页面是直接从官方页面上“扒”下来的,觉得难懂的话可以参看[[syntax|我写的版本]]。
[[syntax-en|英文版]]
====== 格式化语法 ======
[[doku>DokuWiki]]支持一些简单的标记语言,以尽可能使文档的可读性更高。本页包含了您在编辑页面时可能用到所有语法的说明。如果需要查看本页源码, 只需要点击页面顶部或者底部的//编辑本页//按钮。如果您想做一些尝试,那么可以使用[[playground:playground|测试页]]来尽情挥洒。通过[[doku>zh:toolbar|快捷按钮]],您可以更方便地使用这些标记。
===== 基本文字格式 =====
DokuWiki支持**粗体**,//斜体//,__下划线__以及''等宽体''等格式。当然,您可以**__//''混合使用''//__**这些格式。
DokuWiki支持**粗体**,//斜体//,__下划线__以及''等宽体''等格式。
当然,您可以**__//''混合使用''//__**这些格式。
您也可以使用下标和上标。
您也可以使用下标和上标。
同时也可以使用删除线标记某些信息。
同时也可以使用删除线标记某些信息。
**段落**是由空行所建立的。如果您想**强制换行**而不建立段落,您可以使用两个连续的反斜杠接空格或回车作为标记。请看样例:
这是一些有着换行标记的文字。\\ 请注意
双反斜杠只在回车符之前\\
或者接在\\ 一个空格之前的时候才有效。\\而这样就并不起作用。
这是一些有着换行标记的文字。\\ 请注意
双反斜杠只在回车符之前\\
或者接在\\ 一个空格之前的时候才有效。\\而这样就并不起作用。
请仅在必须的时候使用强制换行标记。
**注意:本站已使用插件解决换行问题,只需要使用回车,并不需要%%\\%%进行短换行。**
===== 链接 =====
DokuWiki支持以多种形式创建链接。
==== 外部链接 ====
外部链接会被自动地识别:
http://www.google.com,或者简单地写作 www.google.com
——您也可以设置链接文本:[[http://www.google.com|此链接指向google]]。
类似这样的电子邮件地址:也可以被识别。
DokuWiki支持以多种形式创建链接。外部链接会被自动地识别:
http://www.google.com,或者简单地写作 www.google.com
——您也可以设置链接文本:[[http://www.google.com|此链接指向google]]。
类似这样的电子邮件地址:也可以被识别。
==== 内部链接 ====
内部链接可以用方括号创建。您可以只给出
[[页面名]],或附加[[页面名|链接文本]]。
内部链接可以用方括号创建。您可以只给出
[[页面名]],或附加[[页面名|链接文本]]。
[[doku>pagename|Wiki的页面名]]会被自动地转换为小写字母,并且不允许使用特殊字符。
您可以通过在页面名中添加冒号的方式来使用[[某目录:命名空间]]。
您可以通过在页面名中添加冒号的方式来使用[[某目录:命名空间]]。
如果您需要更多有关“命名空间(namespaces)”的详细信息,请参见[[doku>namespaces]]。
链接到一个特定章节也是可能的。只需要在#号后面加上章节的名称。这是一个指向[[syntax-cn#内部链接|本节]]的链接。
这是一个指向[[syntax#内部链接|本节]]的链接。
注意:
* 指向[[syntax-cn|已存在页面]]的和[[nonexisting|不存在页面]]的链接,其外观是不同的。
* 默认情况下,DokuWiki不使用[[wp>CamelCase]]来自动建立链接。但这一设定可以在[[doku>config|配置文件]]中激活。提示:如果DokuWiki显示为链接,则说明已激活。
* 当一节的标题改变时,它的书签也会改变。因此,请不要过于依赖章节链接。
==== Wiki间链接 ====
DokuWiki支持[[doku>Interwiki]](Wiki间链接)。他们是到其他Wiki的快速链接。例如,这是一个指向Wikipedia上Wiki条目的链接:[[wp>Wiki]]。
DokuWiki支持[[doku>Interwiki]](Wiki间链接)。他们是到其他Wiki的快速链接。
例如,这是一个指向Wikipedia上Wiki条目的链接:[[wp>Wiki]]
==== 图像链接 ====
您也可以通过结合链接和[[#图像和其它文件|图像]](见下文)的语法,用图像来链接到一个内部或者外部的页面。如下所示:
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]
请注意:图像的格式化语法是链接文本唯一接受的格式化语法。
所有的图像和链接语法都是支持的(包括图像大小调整、内部和外部的图像与链接以及wiki内链接)。
===== 脚注 =====
您可以使用两个连续小括号来添加脚注((这是一个脚注))。
您可以使用两个连续小括号来添加脚注((这是一个脚注))。
===== 分节 =====
您可以使用多达5层的标题来组织您的内容。如果您使用了三个以上的标题,将自动生成目录——这可以通过在页面加入''~~NOTOC~~''字样来禁用。
==== 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支持带编号或不带编号的列表。要创建列表,在文字前加入两个空格,然后使用''*''标记不带编号的列表,用''-''标记带编号的列表。
* 这是一个列表
* 第二项
* 您可以有不同的层次
* 另一项
- 带编号的列表
- 另一项
- 用缩进表示更深的层
- 就这样
* 这是一个列表
* 第二项
* 您可以有不同的层次
* 另一项
- 带编号的列表
- 另一项
- 用缩进表示更深的层
- 就这样
===== 文本转换 =====
DokuWiki可以将预定义的字符或者字符串转换成图像、其他文本或HTML。
文本转换为图像主要用于表情符号。文本到HTML的转换用于排版的字符替换,但也可以配置为使用其他HTML。
==== 文本到图像的转换 ====
DokuWiki会将一些常用的 [[wp>emoticon|表情符号]]转换为相应图像。这些[[doku>Smileys|表情符号]]和其他图像可以被配置和扩展。这是DokuWiki中包含的表情符号的概况:
本站基本删除了DokuWiki默认的表情,采用了与站长博客系统相同的表情(微博+贴吧)。
详细的使用方式请参阅编辑器中的''表情符号''功能。:huaji:
==== 文本到HTML的转换 ====
印刷:[[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'..."
同样的做法可以产生任何类型的HTML,只需要添加到[[doku>entities|模式文件]]
这里有三个例外,它们并非来自模式文件:乘号(640x480)、'单引号'和"双引号"。它们可以通过[[doku>config:typography|配置选项]]关闭。
===== 引用 =====
有时您想将某些文本标记为回复或者评论。您可以使用下列语法:
我想我们应该做这件事
> 不,我们不应该
>> 好吧,我说我们应该
> 真的?
>> 是!
>>> 那来做吧!
我想我们应该做这件事
> 不,我们不应该
>> 好吧,我说我们应该
> 真的?
>> 是!
>>> 那来做吧!
===== 表格 =====
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)| ::: |(2,3)|
除跨行合并语法外,单元格中不能包含其他任何内容。
^ 标题1 ^ 标题 2 ^ 标题 3 ^
|(1,1)| 对该单元垂直合并 |(1,3)|
|(2,1)| ::: |(2,3)|
|(3,1)| ::: |(2,3)|
您可以对齐表格的文字。只需在文本的相反方向添加至少两个空格:如果需要右对齐,在左边添加两个空格;反之,则在右边添加。在两边均添加空格可以实现居中对齐。
^ 有对齐的表格 |||
| 右对齐 | 居中 | 左对齐 |
| 左对齐 | 右对齐 | 居中 |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
下面是源文件中的样子:
^ 有对齐的表格 ^^^
| 右对齐| 居中 |左对齐 |
|左对齐 | 右对齐| 居中 |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
注意:不支持垂直对齐。
===== 无格式化 =====
如果您需要文本完全显示为它键入的样子(没有任何格式化),用''%%%%''标签包围这个区域,或更简单地用两个百分号''%%''。
这是一些包含这样的地址:http://www.splitbrain.org,以及**格式**的文字,但它没有被解析。
对于带有表情符号的%%;-)的//__这段__文本//%%也一样。
这是一些包含这样的地址:http://www.splitbrain.org,以及**格式**的文字,但它没有被解析。
对于带有表情符号的%%;-)的//__这段__文本//%%也一样。
===== 代码块 =====
您可以将代码块包含到文档中,可以通过缩进两个空格(像前面例子中所用的)或者使用标签''%%%%''或''%%%%''。
这是缩进了两个空格的文本。
这是预格式化的代码,所有空格都被保留:像 <-这样
这非常相似,但您可以用它来表明您引用了一个文件。
这些区块由下面的源码创建:
这是缩进了两个空格的文本。
这是预格式化的代码,所有空格都被保留:像 <-这样
这非常相似,但您可以用它来表明您引用了一个文件。
==== 语法高亮 ====
[[wiki:DokuWiki]] 可以高亮源代码,使它更容易阅读。它使用[[http://qbnz.com/highlighter/|GeSHi]]通用语法高亮器——因此支持任何GeSHi所支持的语言。语法和前面章节中代码与文件块的一样,但这时所用语言的名称被放入标签中。例如''
''或者''''。
/**
* 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, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, gdb, glsl, gml, gnuplot, groovy, gettext, haskell, hq9plus, html, idl, ini, inno, intercal, io, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, mapbasic, matlab, mirc, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, pascal, perl, perl6, per, php-brief, php, pike, pic16, pixelbender, plsql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, qbasic, rails, rebol, reg, robots, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xml, xorg_conf, xpp, z80//
==== 可下载的代码块 ====
当您使用上面的''%%%%''或''%%%%''语法,您或许希望让显示的代码也可以被下载。您可以通过在语言代码后面指定一个文件名来实现:
如果您不想要任何高亮,但想要一个可下载的文件,指定破折号(''-'')作为语言代码:''%%%%''。
===== 嵌入HTML和PHP =====
**注意:因安全问题,目前HTML和PHP语法仅有管理员可用,普通会员无法使用。**
您可以嵌入原始HTML或PHP代码到文件中,通过使用''%%%%''或''%%[你无权浏览PHP代码]
[你无权浏览PHP代码]
[你无权浏览PHP代码]
[你无权浏览PHP代码]
[你无权浏览PHP代码]
[你无权浏览PHP代码]
因为本页并未使用 ''%%~~NOCACHE~~%%'',所以上面的时间代码并不会更新,请注意这个问题!
**请注意**:HTML和PHP嵌入默认在配置中被禁用。如果禁用,代码被显示出来而不是执行。
===== 控制宏 =====
一些语法会影响DokuWiki对页面的解释,而自身不输出任何内容。可用的控制宏如下:
^ 宏 ^ 描述|
| %%~~NOTOC~~%% | 如果页面出现该控制宏,将不会创建目录|
| %%~~NOCACHE~~%% | DokuWiki默认会缓存所有的输出。有时并不希望这样(例如,当使用了上面的%%%%语法),增加这个控制宏将强制DokuWiki在每次访问时重新解析页面|
===== 语法插件 =====
其他语法插件的使用,我会稍后慢慢介绍。
~~INFO:syntaxplugins~~