Xfce Wiki

Sub domains
 

格式化语法

DokuWiki 支持一些简单的标记语言,以尽可能使文档的可读性更高。 本页包含了您在编辑页面时可能用到所有语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 Edit this page按钮。 如果您想试验点什么,到 playground 尽情耍吧。您也可以通过快捷按钮更方便地使用这些标记。

基本文字格式

DokuWiki支持粗体斜体下划线以及等宽体等格式。当然,您可以组合使用这些格式。

DokuWiki支持**粗体**,//斜体//,__下划线__以及''等宽体''等格式。当然,您可以**__//''组合使用''//__**这些格式。

您也可以使用下标上标

您也可以使用<sub>下标</sub>和<sup>上标</sup>。

同时也可以使用删除线标记某些信息。

同时也可以使用<del>删除线</del>标记某些信息。

段落是由空行所建立的。如果您想强制换行而不建立段落,您可以使用两个连续的反斜杠接空格或换行符作为标记。请看样例:

这是一些有着换行标记的文字。
请注意 双反斜杠只在回车符之前
或者接在
一个空格之前的时候才有效。\\而这样就并不起作用。

这是一些有着换行标记的文字。\\ 请注意
双反斜杠只在回车符之前\\
或者接在\\ 一个空格之前的时候才有效。\\而这样就并不起作用。

请仅在必须的时候使用强制换行标记。

链接

DokuWiki 支持以多种创建链接方法。

外部链接

外部链接会被自动地识别: http://www.google.com 或者简单地写作 www.google.com - 您也可以设置链接文本:此链接指向google。类似这样的电子邮件地址:andi@splitbrain.org也可以被识别。

DokuWiki 支持以多种创建链接方法。外部链接会被自动地识别: http://www.google.com 或者简单地写作 www.google.com - 您也可以设置链接文本:[[http://www.google.com|此链接指向google]]。类似这样的电子邮件地址:<andi@splitbrain.org>也可以被识别。

内部链接

内部链接可以用方括号创建。您可以只给出页面名,或附加链接文本

内部链接可以用方括号创建。您可以只给出
[[页面名]],或附加[[页面名|链接文本]]。

Wiki的页面名会被自动地转换为小写字母,并且不允许使用特殊字符。

您可以通过在页面名中添加半角英文冒号的方式来使用命名空间

您可以通过在页面名中添加半角英文冒号的方式来使用[[某目录:命名空间]]。

如果您需要更多有关“命名空间(namespaces)”的详细信息,请参见namespaces

链接到一个特定章节也是可能的。只需要在#号后面加上章节的名称。这是一个指向本节的链接。

这是一个指向[[syntax#内部链接|本节]]的链接。

注意:

  • 指向已存在页面的和不存在页面的链接,其外观是不同的。
  • 默认情况下,DokuWiki不使用CamelCase来自动建立链接。但这可以在配置文件中启用。提示:如果DokuWiki显示为链接,则说明已激活。
  • 当一节的标题改变时,它的书签也会改变。因此,请不要过于依赖章节链接。

Wiki间链接

DokuWiki支持Interwiki(Wiki间链接)。他们是到其他Wiki的快速链接。例如,这是一个指向Wikipedia上Wiki条目的链接:Wiki

DokuWiki支持[[doku>Interwiki]](Wiki间链接)。他们是到其他Wiki的快速链接。
例如,这是一个指向Wikipedia上Wiki条目的链接:[[wp>Wiki]]。

Windows 共享文件夹

Windows 共享文件夹,例如这个也可以被识别。请注意,这只在企业内部网等局域网环境中才有意义。

Windows共享文件夹,例如[[\\server\share|这个]]也可以被识别。

注意:

  • 出于安全原因,只有在微软IE浏览器上才能够直接访问Windows共享文件夹(并且仅在“本地区域”)。
  • 对于Mozilla和Firefox可以通过Mozilla知识库中提到的不同解决方法启用。但是,打开 Windows 共享文件夹时仍然会有一个JavaScript告警。要去除这个警告(为所有用户),把下面一行放入 conf/local.protected.php:
$lang['js']['nosmblinks'] = '';

图像链接

您也可以通过结合链接图像(见下文)的语法,用图像来链接到一个内部或者外部的页面。如下所示:

[[http://www.php.net|{{wiki:dokuwiki-128.png?64|这是一个图像链接}}]]

这是一个图像链接

请注意:图像的格式化语法是链接文本唯一接受的格式化语法。

所有的图像和语法都是支持的(包括图像大小调整、内部和外部的图像与链接以及维基内链接)。

脚注

您可以使用两个连续小括号(英文)来添加脚注1)

您可以使用两个连续小括号(英文)来添加脚注((这是一个脚注))。

分节

您可以使用多达5层的标题来组织您的内容。如果您使用了三个以上的标题,将自动生成目录 – 这可以通过在页面加入 ~~NOTOC~~ 字样来禁用。

3级标题

4级标题

5级标题
==== 3级标题 ====
=== 4级标题 ===
== 5级标题 ==

您可以通过4个以上连续的“-”号来创建一条水平分割线:


图像和其它文件

您可以用两个大括号在页面中加入外部或内部的图像. 您还可以指定它们的大小。

实际大小:

调整为指定宽度:

调整为指定宽度和高度2)

调整外部图像大小:

实际大小:             {{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 }}
{{ wiki:dokuwiki-128.png }}

当然,您也可以指定图像链接失效时的替换文本。

这是图像链接失效时的替换文本

{{ wiki:dokuwiki-128.png |这是图像链接失效时的替换文本}}

如果您指定的文件名(无论是外部的还是内部的)不是一个图像(gif,jpeg,png),那么它将被显示为一个链接。

对于将图像链接到其他页面,参见上面的图像链接

列表

Dokuwiki 持带编号或不带编号的列表。 要创建列表,在文字前加入两个空格,然后使用 * 创建不带编号的列表或者使用 - 编号的列表。

  • 这是一个列表
  • 第二项
    • 您可以有不同的层次
  • 另一项
  1. 带编号的列表
  2. 另一项
    1. 用缩进表示更深的层
  3. 就这样
  * 这是一个列表
  * 第二项
    * 您可以有不同的层次
  * 另一项

  - 带编号的列表
  - 另一项
    - 用缩进表示更深的层
  - 就这样

请参看下 关于列表项的FAQ.

文本转换

DokuWiki 可以将预定义的字符或者字符串转换成图像、其他文本或HTML。

文本转换为图像主要用于表情符号。文本到HTML的转换用于排版的字符替换,但也可以配置为使用其他HTML。

文本到图像的转换

DokuWiki 会将一些常用的 表情符号转换为相应图像。这些 表情符号 和其他图像可以被配置和扩充。 下面是 DokuWiki 中包含的表情符号的概况:

  • 8-) 8-)
  • 8-O 8-O
  • :-( :-(
  • :-) :-)
  • =) =)
  • :-/ :-/
  • :-\ :-\
  • :-? :-?
  • :-D :-D
  • :-P :-P
  • :-O :-O
  • :-X :-X
  • :-| :-|
  • ;-) ;-)
  • ^_^ ^_^
  • :?: :?:
  • :!: :!:
  • LOL LOL
  • FIXME FIXME
  • DELETEME DELETEME

文本到HTML的转换

印刷:DokuWiki 可以将特定字符转换为印刷时所用的样式。这是可识别的字符示例。

→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “他想 '这是一个男人的世界'…”

-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"他想 '这是一个男人的世界'..."

同样的做法可以产生任何类型的HTML,只需要添加到 模式文件.

有三个例外,它们并非来自模式文件:乘法(640×480)、'单引号'和”双引号”。它们可以通过 配置选项关闭。

引用

有时您想将某些文本标记为回复或者评论。您可以使用下列语法:

我想我们应该做这件事  
> 不,我们不应该    
>> 好吧,我说我们应该    
> 真的?    
>> 是!    
>>> 那来做吧!

我想我们应该做这件事

不,我们不应该
好吧,我说我们应该

真的?

是!
那来做吧!

表格

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 |

注意:不支持垂直对齐方式。

无格式化

如果您需要文本完全显示为它键入的样子(没有任何格式化), 用 <nowiki> 标签包围这个区域 或更简单地用两个百分号 %%

这是一些包含像这样的地址文字:http://www.splitbrain.org 以及 **格式**,但它没有被解析。

对于带有表情符号的 ;-)//__这段__ 文本 //也一样。

<nowiki>
这是一些包含像这样的地址文字:http://www.splitbrain.org 以及 **格式**,但它们没有被解析。
</nowiki>
对于带有表情符号的 %%;-)//__这段__ 文本 //%%也一样。

代码块

您可以将代码块包含到文档中,可以通过缩进两个空格(像前面例子中所用的那样) 或者使用标 <code><file>标签。

这是缩进了两个空格的文本。
这是预格式化的代码,所有空格都被保留:像              <-这样
这非常相似,但您可以用它来表明您引用了一个文件。

这些区块由下面的源码创建:

  这是缩进了两个空格的文本。
<code>
这是预格式化的代码,所有空格都被保留:像              <-这样
</code>
<file>
这非常相似,但您可以用它来表明您引用了一个文件。
</file>

语法高亮

DokuWiki 可以高亮源代码,使其更容易阅读。它使用GeSHi 通用语法高亮器 – 因此支持任何GeSHi所支持的语言。语法和前面章节中代码与文件块的很像,只是现在把所用语言的名称写到标签里面。例如<code java> 或者 <file java>

/**
 * HelloWorldApp 类实现一个向到标准输出显示 "Hello World!"的程序。 
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //显示字符串。
    }
}

下列字符串为当前可以识别语言:4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80

可下载的代码块

当你使用上面的<code> 或者 <file> 的时候,你可能想让显示的代码也可以被下载。您可以通过在语言代码后面指定一个文件名来实现这:

<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
myexample.php
<?php echo "hello world!"; ?>

如果您不想要任何高亮,但想要一个可下载的文件,指定破折号(-) 作为语言代码:<code - myfile.foo>

内嵌 HTML 和 PHP

您可以嵌入原始HTML或PHP代码到文件中,通过使用 <html> 或者 <php> 标签。(如果您需要包围块级元素,使用大写字母的标签。)

HTML 例子:

<html>
这是一些 <span style="color:red;font-size:150%;">内联 HTML</span>
</html>
<HTML>
<p style="border:2px dashed red;">而这是一个块级元素 block HTML</p>
</HTML>

这是一些 <span style="color:red;font-size:150%;">内联 HTML</span>

<p style="border:2px dashed red;">而这是一个块级元素 block HTML</p>

PHP 例子:

<php>
echo 'PHP 生成的logo:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
echo '(生成内联 html)';
</php>
<PHP>
echo '<table class="inline"><tr><td>和上面一样,但是在块级元素内部:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';
</PHP>

echo 'PHP 生成的logo:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />'; echo '(生成内联 html)';

echo '<table class="inline"><tr><td>和上面一样,但是在块级元素内部:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';

注意:HTML 和 PHP 在配置中默认是禁用的。如果禁用了,就会显示它们代码,而不会执行它们。

RSS/ATOM Feed 聚合

所有的能够被SimplePie理解的格式都可以在DokuWiki中使用。您可以通过多个参数来改变渲染,参数之间用空格隔开:

DokuWiki 能够从外部的XML feed中聚合数据。用SimplePie 解析这些XML feed。 所有 SimplePie 支持的格式都可以在DokuWiki中使用。 您可以通过多个参数来改变其显示,参数之间用空格隔开:

参数 描述
任何数字 最多显示多少内容项;默认是8
reverse 将最新条目显示在前面
author 显示条目的作者名
date 显示条目日期
description 显示条目的描述;如果 HTML 被禁用,所有的标签将被过滤掉
n[dhm] 刷新周期,其中,d=天,h=小时,m=分。例如,12h=12个小时。

刷新周期默认是4小时。小于或者等于10分钟均视为10分钟。DokuWiki 通常会提供页面的缓存版,显然,这种做法不适用于包含动态外部内容的页面。上面的参数告诉 DokuWiki 如果离上次重新解释的时间已经超出了 刷新周期,则重新解释页面。

举例:

{{rss>http://slashdot.org/index.rss 5 author date 1h }}

控制宏

一些语法会影响DokuWiki对页面的解释,而自身不输出任何内容。可用的控制宏如下:

描述
~~NOTOC~~ 如果页面出现该控制宏,将不会创建目录
~~NOCACHE~~ DokuWiki 默认会缓存所有的输出。有时并不希望这样(例如,当使用了上面的 <php> 语法),增加这个控制宏将强制 DokuWiki 在每次访问时重新解析页面

语法插件

DokuWiki 的语法可以通过 插件来扩充。如何使用已安装的插件在它们的描述页中有说明。本 DokuWiki 可用的语法插件如下:

1)
这是一个脚注
2)
当指定的长宽比与图像本身的长宽比不一致,在调整图像大小前,其将先被裁切到新的比例