{{page>:tabs#syntaxtabs}} ====== 高级维基语法 ====== ===== 引用 ===== 有时您想将某些文本标记为回复或者评论。您可以使用下列语法: 我想我们应该做这件事 > 不,我们不应该 >> 好吧,我说我们应该 > 真的? >> 是! >>> 那来做吧! 我想我们应该做这件事 > 不,我们不应该 >> 好吧,我说我们应该 > 真的? >> 是! >>> 那来做吧! ===== 表格 ===== **本站拥有表格编辑插件,如果您具有编辑权限,可以直接使用该插件进行表格的编辑。** 如需要自动排序的表格,请参考[[插件语法#可排序的表格]]。 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,以及**格式**的文字,但它没有被解析。 对于带有表情符号的%%:huaji:的//__这段__文本//%%也一样。 这是一些包含这样的地址:http://www.splitbrain.org,以及**格式**的文字,但它没有被解析。 对于带有表情符号的%%:huaji:的//__这段__文本//%%也一样。 ===== 代码 ===== 您可以将代码块包含到文档中,可以通过缩进两个空格(像前面例子中所用的)或者使用标签''%%%%''或''%%%%''。 这是缩进了两个空格的文本。 这是预格式化的代码,所有空格都被保留:像 <-这样 这非常相似,但您可以用它来表明您引用了一个文件。 这是缩进了两个空格的文本。 这是预格式化的代码,所有空格都被保留:像 <-这样 这非常相似,但您可以用它来表明您引用了一个文件。 ==== 语法高亮 ==== 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. } } /** * 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在每次访问时重新解析页面| [[插件控制宏]] ===== 更多教程 ===== [[syntax|基本语法]] [[插件语法]]