* 这是一个列表
* 第二项
* 您可以有不同的层次
* 另一项
- 带编号的列表
- 另一项
- 用缩进表示更深的层
- 就这样
===== 文本转换 =====
DokuWiki可以将预定义的字符或者字符串转换成图像、其他文本或HTML。
文本转换为图像主要用于表情符号。文本到HTML的转换用于排版的字符替换,但也可以配置为使用其他HTML。
==== 文本到图像的转换 ====
DokuWiki会将一些常用的 [[wp>emoticon|表情符号]]转换为相应图像。这些[[doku>Smileys|表情符号]]和其他图像可以被配置和扩展。这是DokuWiki中包含的表情符号的概况:
* 8-) %% 8-) %%
* 8-O %% 8-O %%
* :-( %% :-( %%
* :-) %% :-) %%
* =) %% =) %%
* :-/ %% :-/ %%
* :-\ %% :-\ %%
* :-? %% :-? %%
* :-D %% :-D %%
* :-P %% :-P %%
* :-O %% :-O %%
* :-X %% :-X %%
* :-| %% :-| %%
* ;-) %% ;-) %%
* ^_^ %% ^_^ %%
* :?: %% :?: %%
* :!: %% :!: %%
* LOL %% LOL %%
* FIXME %% FIXME %%
* DELETEME %% DELETEME %%
==== 文本到HTML的转换 ====
印刷:[[wiki: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 |
注意:不支持垂直对齐。
===== 无格式化 =====
如果您需要文本完全显示为它键入的样子(没有任何格式化),用''%%%%''或''%%%%''。
这是缩进了两个空格的文本。
这是预格式化的代码,所有空格都被保留:像 <-这样
这非常相似,但您可以用它来表明您引用了一个文件。
这些区块由下面的源码创建:
这是缩进了两个空格的文本。
这是预格式化的代码,所有空格都被保留:像 <-这样
这非常相似,但您可以用它来表明您引用了一个文件。
==== 语法高亮 ====
[[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例子:
这是一些行内HTML
这是一些区块HTML
这是一些行内HTML
这是一些区块HTML
PHP例子:
echo 'PHP生成的标志:';
echo '';
echo '(生成行内HTML)';
echo '同样,不过是区块级别的元素: ';
echo ' ';
echo '
';
echo 'PHP生成的标志:';
echo '';
echo '(生成行内HTML)';
echo '同样,不过是区块级别的元素: ';
echo ' ';
echo '
';
**请注意**:HTML和PHP嵌入默认在配置中被禁用。如果禁用,代码被显示出来而不是执行。
===== RSS/ATOM Feed聚合=====
[[wiki:DokuWiki]]能够从外部的XML feed中聚合数据。为了解析这些XML feed,使用了[[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分钟。[[wiki:DokuWiki]]通常会提供页面的缓存版,显然,这种做法不适用于包含动态外部内容的页面。上面的参数告诉[[wiki: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默认会缓存所有的输出。有时并不希望这样(例如,当使用了上面的%%%%语法),增加这个控制宏将强制DokuWiki在每次访问时重新解析页面|
===== 语法插件 =====
DokuWiki的语法可以通过[[doku>plugins|插件]]来扩充。如何使用已安装的插件在它们的描述页中有说明。本DokuWiki可用的语法插件如下:
~~INFO:syntaxplugins~~
===== 翻译者 =====
[[http://zhoucaiqi.com|caii]]、[[jiayq84@gmail.com|jiayq84]]、[[lainme993@gmail.com|lainme]]
[[doku>DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the //Edit this page// button at the top or bottom of the page. If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>toolbar|quickbuttons]], too.