====== Wiki 语法详解 ====== DokuWiki 支持 **粗体**,//斜体//,__下划线__ 以及 ''等宽'' 字体。 DokuWiki 支持 **粗体**,//斜体//,__下划线__ 以及 ''等宽'' 字体。 当然你也可以 **__//''组合使用''//__** 所有这些标志。 你也可以使用下标上标。 你也可以使用下标上标。 你还可以标记某些句子为已删除。 你还可以标记某些句子为已删除。 用空行可以生成**段落** 。如果想在一个段中 **强制回车** 而不是生成新段落,可以使用两个反斜线加上一个空格或放在行尾。 这段文字这里要断开\\ 注意两个反斜线仅在 出现在行尾时才能被识别成回车\\ 或者双反斜线后面\\ 跟着一个空格也行 \\这里没有跟空格也不在行尾,就不行。 这段文字这里要断开\\ 注意两个反斜线仅在 出现在行尾时才能被识别\ 或者双反斜线后面\\ 跟着一个空格也行 \\这里没有跟空格也不在行尾,就不行。 **注意:为了方便编辑,强制换行已经被我改掉了,也就是说,只要回车就可以,所见即所得** :-) ===== 链接(Link) ===== DokuWiki 可用多种方法来生成链接。 ==== 外部链接(External) ==== 外部链接可以自动识别:http://www.google.com 或更简单的 www.google.com - 也可以设定链接名: [[http://www.google.com|这里是google的链接]]。 电子邮件可以这样: 。 外部链接可以自动识别:http://www.google.com 或 更简单的 www.google.com - 也可以设定链接名: [[http://www.google.com|这里是google的链接]]。 电子邮件可以这样: 。 ==== 内部链接(Internal) ==== 内部链接是通过方括号来生成的。可以简单地使用 [[doku>wiki:pagename]] 或更进一步 [[doku>wiki:pagename|网页标题]] 。页面名会自动地转换成小写,并且不允许使用特殊字符。不推荐使用中文作为页面名,但可以使用中文做为页面标题名。 内部链接是通过方括号来生成的。可以简单地使用 [[doku>wiki:pagename]] 或更进一步 [[doku>wiki:pagename|网页标题]]。 页面名会自动地转换成小写,并且不允许使用特殊字符。不推荐使用中文作为页面名,但可以使用中文做为页面标题名。 页面名中可以使用 [[wiki:namespaces]] ,用冒号同页面名隔开。 页面名中可以使用 [[wiki:namespaces]] ,用冒号同页面名隔开。 有关命名空间的详情参见:[[doku>wiki:namespaces]] 。 也可以链接到页面的某一部分。只需加上一个井号,后面跟上那一小节的名字即可。比如这个链接指向本小节:[[syntaxcn#internal|本小节]] 这个链接指向本小节:[[syntaxcn#interal|本小节]] 注意: * 指向 [[wiki:syntaxcn|已存在页面]] 的链接同指向 [[wiki:noexistingpage|不存在页面]] 的链接显示风格不同。 * DokuWiki 不使用 [[wp>驼峰字]] (即一个词中有两个大写,其余小写,形如驼峰)来自动生成链接。但此功能亦可通过 [[doku>config]] 文件打开。提示:如果 DokuWiki 显示成链接那就是已经打开了。 * 如果小节名改变,它的链接也会改变,所以不要过多使用指向小节的链接。 * 如上“本小节”的链接所示,小节名为中文的情况下,不能成功创建指向页面某一部分的链接。 ==== Interwiki ==== DokuWiki 支持 [[doku>wiki:interwiki]] 链接。这是一种快速创建到其他Wiki的链接的方法。比如指向维基百科(Wikipedia)有关Wiki的页面: [[wp>Wiki]] 。 DokuWiki 支持 [[doku>wiki:interwiki]] 链接。这是一种快速创建到其他Wiki的链接的方法。 比如指向维基百科(Wikipedia)有关Wiki的页面: [[wp>Wiki]] 。 ==== Windows共享 ==== 也可以识别像 [[\\server\share|这样的]] Windows共享链接。这只有在一个用户组内,比如公司[[wp>Intranet|内部网]]上才有意义。 也可以识别像 [[\\server\share|这样的]] Windows共享链接。 注意: * 出于安全原因,直接浏览Windows共享只在IE内才可以。 ==== 图片链接(Image Links) ==== 你也可以在一个图片上生成链接,指向内部或外部网页。其作法是把链接和图片的语法合并使用,如: [[http://www.php.net|{{wiki:dokuwiki-128.png}}]] 效果是: [[http://www.php.net|{{wiki:dokuwiki-128.png}}]] 注意: * 在链接名中只有图片的格式才能出现。 ===== 脚注(Footnotes) ===== 用双圆括号括上文字即可生成脚注 ((脚注一)),括号中的文字即为脚注内容 ((这就是脚注内容))。 用双圆括号括上文字即可生成脚注 ((脚注一)),括号中的文字即为脚注内容 ((这就是脚注内容))。 ===== 页面分节(Sections) ===== 页面中可以使用多达5级的标题,来对页面进行结构化。如果标题超过3个,就会自动生成页面目录,出现在页面右上角──这个目录也可以通过在文件中加入 ''~~NOTOC~~'' 来禁用。 ==== 3级标题 ==== === 4级标题 === == 5级标题 == ==== 3级标题 ==== === 4级标题 === == 5级标题 == 输入4个短横线即可生成一条水平线: ---- ===== 图片及其他文件(Images and other files) ===== 用花括号可以引入内部或外部 [[doku>images]] 。同时可以指定其尺寸。 真实尺寸: {{wiki:dokuwiki-128.png}} 指定宽度: {{wiki:dokuwiki-128.png?100}} 指定宽度和高度: {{wiki:dokuwiki-128.png?100x100}} 指定外部图片的尺寸: {{http://de3.php.net/images/php.gif?100x100}} 真实尺寸: {{wiki:dokuwiki-128.png}} 指定宽度: {{wiki:dokuwiki-128.png?100}} 指定宽度和高度: {{wiki:dokuwiki-128.png?100x100}} 指定外部图片的尺寸: {{http://de3.php.net/images/php.gif?100x100}} 在左边或右边加空格可以指定其对齐方式: {{ 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'') ,就会显示成链接。 ===== 列表(Lists) ===== Dokuwiki 支持有序和无序列表。 要生成列表,首先要把文字缩进两个空格,再加上一个 ''*'' 即可生成无序列表,加上一个 ''-'' 可创建有序列表。 * 这是一个列表 - 可能不太好玩 * 第2项 * 可以有不同的级别 * 又一个-怎么样呢 - 一样的列表,不过有编号 - 另一项 - 缩进就可以生成一个级别 - 这里又回来 * 这是一个列表 * 第2项 * 可以有不同的级别 * 又一个 - 一样的列表,不过有编号 - 另一项 - 缩进就可以生成一个级别 - 这里又回来 ===== 表情符号(smileys) ===== 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 %% ===== 特殊字形(Typography) ===== [[DokuWiki]] 可以把普通的文本转换成相应的印刷字形。下面是可识别字形的例子: -> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) "他想 'It's a man's world'..." -> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) "他想 'It's a man's world'..." 注意:此转换可在配置文件中关闭。 ===== 表格(Tables) ===== DokuWiki 生成表格的语法相当简单。 ^ 表头 1 ^ 表头 2 ^ 表头 3 ^ | 行 1 列 1 | 行 1 列 2 | 行 1 列 3 | | 行 2 列 1 | 占据两列(注意后面两条竖线) || | 行 3 列 1 | 行 2 列 2 | 行 2 列 3 | 以 ''|'' 开头和结尾的行是普通行,用 ''^'' 的是标题行。 ^ 表头 1 ^ 表头 2 ^ 表头 3 ^ | 行 1 Col 1 | 行 1 列 2 | 行 1 列 3 | | 行 2 Col 1 | 占据两列(注意后面两条竖线) || | 行 3 Col 1 | 行 2 列 2 | 行 2 列 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 | 注意:不支持竖向的格子合并,即rowspan。 ===== 不解释的块(Norparsed Blocks) ===== 在每一行前加上至少两个空格即可使这些行变成不解释的行。或者也可以使用标签 ''code'' 或 ''file'' 。 d我来试下下是不是在每一行的前加上至少两 个空格即可使这些行变成不解释的行或者也可以用标签''code'' 这里所有格式都会照样显示,空格也会保留:比如 <-这些都是空格。 这里差不多是一样的,但可以看出显示成引用了一个文件。 要想让解释器对一整块都不解释,可以用 ''nowiki'' 标签把它圈上,或者简单一点用两个百分号也行: ''%%'' 。 这一句就包含许多可以解释的东西: http://www.splitbrain.org and **formatting** 但它并没有被解释。 编辑本页或本小节即可看到如何使用这种块。 ===== 语法高亮(Syntax Highlighting) ===== [[DokuWiki]] 可以对文字进行语法高亮显示,以使其易读。它使用的是 [[http://qbnz.com/highlighter/|GeSHi]] 通用语法高亮模块,所以只要是GeSHi支持的语言,本Wiki系统就可以支持。语法同前面讲的代码块类似,但要加上该代码所使用的语言: '''' 。 /** * 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, cpp, css, delphi, html4strict, java, javascript, lisp, lua, nsis, oobas, pascal, perl, php-brief, php, python, qbasic, sql, vb, visualfoxpro, xml// ===== 嵌入HTML和PHP(Embedding HTML and PHP) ===== 使用 ''html'' 或 ''php'' 标签可以在页面中嵌入HTML或PHP代码块,如下: 这是 HTML,字变大一些。 这是 HTML,字变大一些。 echo '用PHP生成的Logo:'; echo 'PHP Logo !'; echo '用PHP生成的Logo:'; echo 'PHP Logo !'; **注意**:HTML和PHP嵌入功能可以在配置中关闭。如果已经关闭就会显示代码而不是执行它。上面是执行还是显示代码呢? ===== 本站自定义语法(Custommed syntax) ===== 参考 [[syntax_mozcn|MozCN 自定义 Wiki 语法]]。