DokuWiki格式语法说明

DokuWiki 支持一些简单的标记语言, 以尽最大可能使文档看上去更友好。本页面包含了所有你在编辑页面时可能用到的语法的说明。如果需要查看本页源码,只需要点击页面顶部或者底部的 编辑本页 按钮即可。
如果您是初尝Wiki,那么可以使用 Wiki砂箱 来尽情挥洒。
通过快捷按钮,您可以更方便地使用这些标记。

注:本文档由 jiayq84@gmail.com 根据DokuWiki 2005.2.6版本的语法说明翻译。
如果您发现什么问题,请您发信告知,谢谢!

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

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

可以使用 下标上标

可以使用 <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:pagename,也可以附加上链接的名字:我的链接。Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。

内部链接可以用方括号创建。您可以只给出链接的地址:[[pagename]],
也可以附加上链接的名字:[[pagename|我的链接]]。
Wiki的页面名字将会被自动地识别为小写字母,并且不允许使用特殊字符。

您可以通过在页面名中使用冒号的方式来使用 命名空间

您可以通过在页面名中使用冒号的方式来使用 [[wiki:namespaces|命名空间]]。

如果您需要关于命名空间(namespaces)的更详细的信息,请参见 wiki:namespaces

您也可以链接到一个网页内部的某一节,只需要将该节书签的名称以一个#号分隔加在网页的地址后面即可。这是一个连向 本节 的链接。

这是一个连向 [[syntax#internal|本节]] 的链接。

注:

  • 已存在页面 的链接和到 未存在页面 的链接,其外观是不同的。
  • 默认情况下,DokuWiki不使用 CamelCase 来自动建立链接,(CamelCase类似于PmWiki中的WikiWord)。但是也可以在 设置文件 中启用它。 Hint: If DokuWiki is a link, then it's enabled.
  • 当一节的标题改变时,该节的书签也会改变,因此,请不要太依靠网页内的链接。

Wiki间链接

DokuWiki支持 Wiki间链接 ,即到其他wiki的链接。例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: Wiki

DokuWiki支持 [[interwiki|Wiki间链接]] ,即到其他wiki的链接。
例如,这是一个到Wikipedia上关于Wiki的一个页面的的链接: [[wp>Wiki]] 

Windows共享文件夹

Windows共享文件夹,例如 this 也可以被识别。请注意,这只在内部 局域网 等环境中才可能被成功访问。

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

注:

  • 出于安全原因,只有在微软IE浏览器上才能够直接访问Windows共享文件夹。

图像链接

您也可以用图像来作为一个内部或者外部的链接,只需同时使用链接和图像的语法,如下所示:

[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]

请注意:在链接名中使用语法,只有显示图像的语法会被识别,请不要使用其它语法。

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

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

您可以使用最多达5层的标题来使您的页面更富结构性。如果您使用了三个以上的标题,那么DokuWiki会自动在页面上生成一个名为“本页目录”的标题列表。当然,您也可以关闭这项特性,只需在编辑时在页面里加入 ~~NOTOC~~ 字样即可。

H3标题

H4标题

H5标题
==== H3标题 ====
=== H4标题 ===
== H5标题 ==

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


您可以使用双大括号来在页面中加入 图像 。您还可以选择是否指定图像的显示大小。

原始大小:

指定宽度:

指定宽度和高度:

重新指定宽度和高度的外部图像:

原始大小:                        {{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 |这是图像的名字}}

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

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

  • 列表
  • 第二项
    • 下一层
  • 第三项
  • 带编号的列表
  • 第二项
    • 用缩进表示更深的层
  • 完了
  * 列表
  * 第二项
    * 下一层
  * 第三项

  - 带编号的列表
  - 第二项
    - 用缩进表示更深的层
  - 完了

DokuWiki会将一些常用的 表情符号 转换为图像。除了默认的表情符号以外,您也可以在 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 %%

DokuWiki可以将特定字符转换为印刷时所用的样式。下面是可以识别的这类字符的列表:

→ ← ↔ ⇒ ⇐ ⇔


"

He thought 'It's a man's world'…“

-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."

请注意:在配置文件中可以禁用这类自动转换。

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)          |

注:垂直合并单元格尚未实现。

您可以对齐表格的文字。只需要添加多余两个的空格在您需要对齐的方向的反向即可:如果需要右对齐,在左边添加两个空格;反之,则在右边添加。在两边均添加空格可以实现中间对齐。

有对齐的表格
右对齐 居中 左对齐
左对齐 右对齐 居中
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

下面是源文件中的格式:

^           有对齐的表格                   ^^^
|        右对齐|     居中     |左对齐        |
|左对齐        |        右对齐|     居中     |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |

您可以在文章中插入无格式区块,在这些区块中Wiki语法将不起作用。可以有三种方法:在行前加两个以上的空格(前面做样例时用的方法),或者可以使用 Codefile 标记。

这是一段被code包围的区块,其中的空格都被保留了:像              <-这样
和code是类似的。不过您可以用这个来表示您引用了一个文件的内容。  

要让Wiki语法解释完全失效,可以用 nowiki 标签包围整个区块,或者也可以简单地使用双百分号标记 %%

这是一段完全没有Wiki语法解释的文字,例如:http://www.splitbrain.org , **粗体**,虽然按照语法书写,但是它们并没有被解释。

如何使用这些标记,请查看这一段的源文件。

DokuWiki 可以将源代码作语法高亮以增加可读性。它使用称作 GeSHi 的通用语法高亮工具(Generic Syntax Highlighter)——所有被GeSHi支持的语言都可以在DokuWiki中得到高亮。使用code标记的方法和上面是类似的,不过需要指定使用的语言,例如: <code java>

/** 
 * 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.
    }
}

现在,DokuWiki可以支持的语言有: actionscript, ada, apache, asm, asp, bash, caddcl, cadlisp, c, c_mac, cpp, csharp, css, delphi, html4strict, java, javascript, lisp, lua, nsis, objc, oobas, pascal, perl, php-brief, php, python, qbasic, smarty, sql, vb, vbnet, visualfoxpro, xml

您可以使用 html 或者 php标记在文档中嵌入HTML或PHP的代码。例如:

<html>
这是 <font color="red" size="+1">HTML</font> 代码。
</html>

这是 HTML 代码。

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

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

请注意: HTML和PHP嵌入的功能默认情况下是被禁用的,因此,您可能无法看到上面的代码运行的结果而只能够看见源代码,这取决于DokuWiki站点的设置。(?)

蔚腾飞

超大屏

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

面板

Title of Panel

Subtitle

Panel content

警告

文本颜色

  • muted
  • primary
  • success
  • info
  • warning
  • danger

工具提示

Lorem ipsum dolor sit amet…

网格

.col-sm-6
.col-sm-6
.col-xs-12 .col-sm-6 .col-lg-8
.col-xs-6 .col-lg-4

网格

网格

DokuWiki

DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.

文本框

Look, I'm in a well!

按钮

菜单

数据表格

Column A Column B Column C
Row A1 Row B1 Row C1
Row A2 Row B2 Row C2
Row A2 Row B2 Row C3
Row A2 Row B2 Row C3
Row A2 Row B2 Row C3

数据表格

[…]
[…]

数据表格

Row A1 Row B1 Row C1
Row A2 Row B2 Row C2
Row A2 Row B2 Row C3

数据表格

Name
First Last
My Name
Your Name

数据表格

[…]

格式

Blabla

Blabla

=

首页    
首页 2017/08/11 19:28 蔚腾飞
首页    
首页    
wrap    

Examples for the Wrap Plugin

An uppercase %%

** (or alternatively **

** or **

**) creates a **''div''** and should be used for **"big"** containers, **surrounding** paragraphs, lists, tables, etc. <WRAP classes width :language> "big" content </WRAP> or <block classes width :language> "big" content </block> or <div classes width :language> "big" content </div> A lowercase **** (or alternatively **** or ****) creates a **''span''** and should be used for **"small"** containers, **inside** paragraphs, lists, tables, etc. <wrap classes width :language>"small" content</wrap> or <inline classes width :language>"small" content</inline> or <span classes width :language>"small" content</span> :!: Please note, some things **won't work with lowercase spans**: * **alignments** (including alignments generated by changing the text direction) * **multi-columns** * and **widths** if the according wrap isn't floated as well. ===== Classes and Styles ===== ==== Columns and Floats ==== You can have columns easily by adding the class ''column'' and a width, e.g. <WRAP column 30%>...content...</WRAP> <WRAP column 30%> //**__Emulated Big Headline__**// You can emulate a big headline with italic, bold and underlined text, e.g. <code>//**__Emulated Big Headline__**//</code> //**Emulated Small Headline**// A smaller headline uses no underlining, e.g. <code>//**Emulated Small Headline**//</code> If you need text that is bold and italic, simply use it the other way around: <code>**//No Headline//**</code> </WRAP> <WRAP column 30%> //**__Different Floating Options__**// Normally you would only need the class ''column'', but for more sophisticated uses (not only for columns, but for any other classes, like [[#boxes and notes]] as well) you can have several kinds of "floats": * **''column''** is the same as ''left'' in LTR languages and the same as ''right'' in RTL languages * **''left''** will let you float your wrap on the left * **''right''** will let the wrap float right * **''center''** will position the wrap in the horizontal center of the page </WRAP> <WRAP column 30%> //**__Widths__**// You can set any valid widths (but only on divs): ''%, px, em, ex, pt, pc, cm, mm, in'', but most of the time you'd only want either ^type^e.g.^note^ ^''%''|''30%''|makes sense in a liquid layout| ^''px''|''420px''|makes sense if your layout has a fixed pixel width or if your container contains images with a certain width| ^''em''|''20em''|makes sense if you like your wrap container to grow and shrink with the font size or if your layout is em-based| A **table** inside a column or box will always be **100% wide**. This makes positioning and sizing tables possible. </WRAP> <wrap em>After using any of the float classes, you might come across something like this, where the following text protrudes into the space where only the floating containers should be ...</wrap> <WRAP clear></WRAP> ... to prevent that, you should simply add <WRAP clear></WRAP> after your last column. You **can** use the same options with spans (as each element that floats is automatically a block level element), but it probably doesn't make too much sense. :!: Widths on spans normally do not work (by design), but can make sense, when it is floating. :!: Attention: Widths can cause problems and will often look different and break in some browsers. If you're not a web developer, you might not understand any problems regarding the [[http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug|box model]]. Just try to test your columns in all major browsers and make your widths smaller than you initially think they should be. All of those options will also work in the [[#boxes and notes]] wraps (see below). === Multi-columns === <WRAP col3> For modern browsers (Firefox, Chrome and Safari) you can use multi-columns. Just use **''col2''** for 2 columns, **''col3''** for 3 columns, **''col4''** for 4 columns and **''col5''** for 5 columns. :!: Note: Multi-columns don't make sense for spans. </WRAP> ==== Alignments ==== You can use these different text alignments: * ''leftalign'' * ''rightalign'' * ''centeralign'' * ''justify'' <WRAP centeralign> Center aligned text ... </WRAP> <WRAP rightalign> ... and right aligned. </WRAP> <code> <WRAP centeralign> Center aligned text ... </WRAP> <WRAP rightalign> ... and right aligned. </WRAP> </code> :!: You cannot add alignments to spans. ==== Boxes and Notes ==== <WRAP round box 570px center> //**__round box 570px center__**// * ''box'' creates a box around the container and uses the colours from the template's ''style.ini'' as default colours (''backgroundalt%% and %%text_%%) * any of the classes info, tip, important, alert, help, download, todo will add a special note container with a corresponding icon * the classes danger, warning, caution, notice, safety use safety colours (and no icons) * round can be added to anything with a background colour or a border and will only work in modern browsers (no Internet Explorer) </WRAP>

Info

<WRAP info></WRAP>

Tip

<WRAP tip></WRAP>

Important

<WRAP important></WRAP>

Alert

<WRAP alert></WRAP>

Help

<WRAP round help></WRAP>

Download

<WRAP download></WRAP>

Todo

<WRAP todo></WRAP>

Safety Notes:

Danger

<WRAP danger></WRAP>

Warning

<WRAP warning></WRAP>

Caution

<WRAP caution></WRAP>

Notice

<WRAP round notice></WRAP>

Safety

<WRAP round safety></WRAP>

You can use notes and boxes also inside text with spans like this: info, help, alert, important, tip, download, todo and round box and danger, warning, caution, notice, safety. info, help, … ==== Marks ==== You can mark text as highlighted, less significant and especially emphasised. You can mark text as highlighted, less significant and especially emphasised. :!: This might look ugly in some templates and should be adjusted accordingly. ==== Miscellaneous ==== === Indent === This text will appear indented. This text will appear indented. === Outdent === This text will appear “outdented”. This text will appear “outdented”. === Prewrap ===

Inside this code block the words will wrap to a new line although they are all in one line.
<code>
Inside this code block the words will wrap to a new line although they are all in one line.
</code>
</WRAP>

Spoiler

Here follows a spoiler: Darth Vader is Luke's father.

Here follows a spoiler: <wrap spoiler>Darth Vader is Luke's father.</wrap>

Just select the text in the spoiler box to be able to read its content.

Hide

The following text is hidden: John, please revise that sentence.

The following text is hidden: <wrap hide>John, please revise that sentence.</wrap>

:!: Warning: The text will still appear in the source code, in non-modern browsers and is searchable. Do not hide any security risky secrets with it!

Pagebreak

The following will add a pagebreak:

The following will add a pagebreak: <WRAP pagebreak></WRAP>

This has no effect on the browser screen. A pagebreak will force a new page in printouts.

Nopagebreak

The following will try to avoid a pagebreak:

much content, belonging together (like a long table)

The following will try to avoid a pagebreak: <WRAP nopagebreak>much content, belonging together (like a long table)</WRAP>

This also has no effect on the browser screen. It will try to avoid a page break in printouts.

Noprint

This text appears on the screen, but not in print.

<wrap noprint>This text appears on the screen, but not in print.</wrap>

Onlyprint

This text does not appear on the screen, but only in print.

<wrap onlyprint>This text does not appear on the screen, but only in print.</wrap>

Typography

I advice against using the following typography classes. It's better to create semantic classes that reflect their meaning instead.

  • font family: sansserif, serif, monospace
  • font size: bigger, muchbigger, smaller
  • font colour: fgred, fggreen, fgblue, fgcyan, fgviolet, fgyellow, fggrey, fgwhite, fgblack
  • background colour: bgred, bggreen, bgblue, bgcyan, bgviolet, bgyellow, bggrey, bgwhite, bgblack

Combining and Nesting

You can combine and nest all classes and types of boxes, e.g.

Outer green box floats right

Inner nested box floats left and is partly emphasized and highlighted with nested bigger text inside.

Text inside outer right box, but beneath inner left box.

Round tip box underneath, after a clear.

<WRAP box bggreen fgblack 350px right :en>
//**__Outer green box floats right__**//

<WRAP 165px left>
Inner nested box floats left and is partly <wrap em hi>__em__phasized and __hi__ghlighted with nested <wrap bigger>__bigger__ text</wrap> inside</wrap>.
</WRAP>

Text inside outer right box, but beneath inner left box.

<WRAP clear></WRAP>

<WRAP round tip>
Round tip box underneath, after a ''clear''.
</WRAP>

</WRAP>

You can change the language and the reading direction of a wrap container by simply adding a colon followed by the language code, like this:

<WRAP :he>
זה עברית. ((<wrap :en>This means "This is Hebrew.", at least according to [[http://translate.google.com/|Google Translate]].</wrap>))
</WRAP>

זה עברית. 2)

The text direction (rtl, right to left or ltr, left to right) will get inserted automatically and is solely dependent on the language. The list of currently supported languages is taken from: http://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code (If you specify a language not listed there, it simply won't do anything.)

1)
看这里,这是一个脚注
2)
This means “This is Hebrew.”, at least according to Google Translate.