DokuWiki命名空间

DokuWiki命名空间

在DokuWiki中,你可以使用”命名空间”对你的页面进行分类。

创建命名空间

你不需要独立地创建命名空间,只需简单地在页面名中使用冒号就可以创建。在最后一个冒号之后的语言符号(token)就是页面本身的名字,其他的语言符号都是命名空间。DokuWiki会自动创建页面用到的、不存在的所有命名空间。

例子:

example
表示当前命名空间的”example”页面。

:example
表示根部命名空间的”example”页面。

wiki:example
表示命名空间”wiki”中的页面”example”。命名空间”wiki”位于根部命名空间之下。

ns1:ns2:example
表示命名空间ns2中的”example”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于根部命名空间下。

:ns1:ns2:example
同上。

.ns1:ns2:example
表示名命名空间ns2下的”example”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于当前命名空间下。

.ns1:ns2:
表示命名空间ns2的”开始”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于当前命名空间下。

FIXME: 同样,[..namespace:] – 表示上级命名空间,——这应该记载在文档中。

删除命名空间

命名空间内的所有页面都被移除之时,该命名空间逻辑上不再存在。DokuWiki通常也会删除这个刚清空的文件夹。

如何重命名命名空间

你可以使用PageMove插件将每个页面从旧的命名空间移动到新的命名空间。请参考相关文档了解这是否满足你的需要。 手动的方式稍困难些:

  • 重命名表示命名空间的文件夹,这些文件夹在:
    • data/pages
    • data/media (如果存在)
  • 移除该命名空间在 data/meta下的元数据
  • 移除该命名空间在data/attic下的历史记录数据(或者将它们移走,如果你想保留旧版)

例如,在Unix主机上,你可以:

  • mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespace
  • mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
  • rm -Rf /dokuwiki_base/data/meta/old_namespace
  • rm -Rf /dokuwiki_base/data/attic/old_namespace

要注意,对于非拉丁字符设置(例如希腊语、俄语等),需要编码 old_namespace 和/或 new_namespace 等词语。

  • (通过编辑链接)纠正指向已移除命名空间下所有页面的链接(在移除命名空间之前,你可以通过反向链接(backlink)发现需要修改的链接)。
  • 浏览新命名空间下的每个页面,这会创建已经丢失的已移除的命名空间下的页面的索引信息和元数据。

但是,你依然留下大量无用信息,例如data/changes.log中、cache下的各种文件(包括.idx文件等)。如何困难,你可以按照下面的方法从空白状态开始(同样,在Unix下),要注意的时,这意味着丢失所有的历史信息(也就是最近修改):

  • cat /dev/null > /dokuwiki_base/data/changes.log
  • rm -Rf /dokuwiki_base/data/attic/*
  • rm -Rf /dokuwiki_base/data/cache/?
  • rm -Rf /dokuwiki_base/data/cache/*.idx
  • rm -Rf /dokuwiki_base/data/cache/purgefile
  • 浏览你wiki的每一个页面

我知道这很费解(可能我忘记/弄乱一些你认为应该做的事情)。所有的都是PITA。你可以使用一些可重建整个wiki的搜索索引、删除整个cache和/或旧版wiki从而避免手动操作的插件

命名空间默认链接

对于以冒号结尾的链接ID(linked)[[foo:bar:]],可能指向命名空间下的默认文件。 链接指向哪个页面,取决于所存在的特定名字的文件。对于[[foo:bar:]],会检测以下页面:

foo:bar:$conf['start']
foo:bar:bar
foo:bar

系统按照上面的顺序检测页面,并会链接到最先找到的页面。对于这些链接,不会在链接中检查多种格式(autoplural linking)。 :!: 这个特征仅在2006-09-28 RC1版或更新版上可用。

DokuWiki格式语法说明

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

基本文本格式

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支持带编号或不带编号的列表。要使用列表,在文字前加入两个空格,然后使用*标志不带编号的列表,用-标志带编号的列表。

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

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

表情符号

DokuWiki会将一些常用的 表情符号 转换为图像。除了默认的表情符号以外,您也可以在 smiley 文件夹中放入更多的表情图,然后在 conf/smileys.conf 中设置它们即可。下面是Dokuwiki包含了的表情图像:

  • 8-) 😎
  • 8-O 😯
  • :-( 🙁
  • :-) 🙂
  • =) =)
  • :-/ :-/
  • :-\ :-\
  • :-? 😕
  • :-D 😀
  • :-P 😛
  • :-O :-O
  • :-X :-X
  • :-| 😐
  • ;-) 😉
  • ^_^ ^_^
  • :?:
  • :!:
  • LOL LOL
  • FIXME FIXME
  • DELETEME DELETEME

印刷样式

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

→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “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 |

无格式区块

在一段文字的最前面加上 2 个空白,来直接作为「文本框」不对它做加工处理(就像前面那些说明一样)。或者也可以用 <code><file> 这两个标签(tag)都可以达到类似效果。

这段是用 <code> 产生的,所有空格及所有原始格式都会照样显示,还其本色。
 就像       <-这个

或者
    方与圆  似刚与柔
    圆契合于方
    方契合于圆
    两心同一点
这段跟上段很像,但是改用 <file> ,可以把它用在「引述名言(Quote)」效果上。  
  
        remember, information is not knowledge,
                  knowledge is not wisdom
                  wisdom is not truth
                  truth is not beauty
                  beauty is not love
                  love is not music
                  music is the best
  
                                                -- frank zappa

若要略过某段内含 WIKI 语法,不对该段文字作任何处理, 可以使用 <nowiki> 标签或更简单一点用 2 个 %% 放在该段文字的前后,请参考下面例子:

<nowiki>这段字不要用 [[WIKI]] 语法</nowiki> 或是%%这段字不要用 [[WIKI]] 语法%%

这一段包含一些原本会在 WIKI 内有特殊处理,像是 http://www.splitbrain.org 及 **强调语气的文字** ,但是正如所看到的,这里什么都不做任何处理。

您可以看本页的原始写法来察看这一段是怎么写的。

语法的高亮度显示

DokuWiki 可把原始码语法来做高亮度显示(Syntax Highlighting),来更加具可读性。 它采用的是 GeSHi Generic Syntax Highlighter —— 所以只要 GeSHi 有支持的,DokuWiki 亦可。

用法就类似前例的 <code> ,但要在标签(tag)内指定该原始码所使用的语言。比如 <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.
    }
}

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

可下载的代码块

若您使用上述的「<code>」或「<file>」语法,您或許希望让浏览者直接下载该段代码。您可以在语言代码后方指定一個文件名,方便浏览者下载:

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

若您不想把语法高亮显示出,但想方便浏览者下载,您可以用链接号「-」作语言代码。例如:「<code – myfile.foo>」。

RSS/ATOM Feed聚合

DokuWiki能從外部XML feed中聚合數據。爲分析這些XML feed,DokuWiki使用了SimplePie。凡是SimplePie能理解的格式,都可用於DokuWiki中。您可以更改不同的參數,以改變其渲染。參數之間請用空格隔開:

參數
描述

any number
最多顯示多少項內容;預設值是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的語法。附加元件的安裝方法,請見其他相應頁面中說明。本wiki系統使用了下列附加元件:

  • Info Plugin 2013-02-16Andreas Gohr
    Displays information about various DokuWiki internals
  • Wrap Plugin 2013-03-24Anika Henke
    Universal plugin which combines functionalities of many other plugins. Wrap wiki text inside containers (divs or spans) and give them a class (choose from a variety of preset classes), a width and/or a language with its associated text direction.
  • Translation Plugin 2013-09-25Andreas Gohr
    Supports the easy setup of a multi-language wiki.

1) 看这里,这是一个脚注

第一次使用dokuwiki

恭喜你,你的维基现在启动和运行。这里有一些更多的提示,让你开始。

与DokuWiki的享受你的工作,
– 开发商

创建您的第页

您的wiki需要有一个起始页。只要它不存在,这个环节将是红色的主页。

来吧,跟随该链接,创建页面。如果你需要用你总是可以参考的语法页面的语法帮助。

您可能还需要使用一个侧边栏。要创建它,只需编辑边栏页。在该页面一切都将在一个侧面的利润率列中显示。请阅读我们的侧边栏上的常见问题,以了解更多信息。

请注意,并非所有的模板支持侧边栏。

自定义您的Wiki

一旦你舒服的创建和编辑你可能想看看配置设置页面(请务必先登录为超级用户)。

您可能还希望看到什么插件和模板可在DokuWiki.org延长您的DokuWiki安装的功能和外观。

加入社区

DokuWiki的是,通过用户贡献的蓬勃发展一个开源项目。一个好办法留在这是怎么回事知情和使用DokuWiki的是订阅电子报以获得有用的提示。

DokuWiki的用户论坛是与其他用户DokuWiki的接触得到一个很好的方式,是刚刚的许多方法来获得支持的。

当然,我们会很乐意让你加入与DokuWiki的。

Dokuwiki 使用技巧整理

– 相同 Name Space 新增頁面設定預設內容方式

– 特定 Name Space 採用自己的板型設定方式

  1. 可以在 main.php 內修改 code 增加 if ($explodednamespace[0] == “namespace1”) {include tpl1.php} 這樣的方式來解決
  2. 安裝 Multitemplate for DokuWiki 來解決

實際修改 main.php 的方式(只改標題)

實際安裝 Multitemplate 程序(結果有問題)

– 清除特定頁面 Cache 方式

  1. – 在頁面網址後面加上 ?purge=true 要求將該頁面的 cache 清除掉

..

Exp. http://www.example.com/namespace/page?purge=true
  1. – 在頁面內加入 NoCache 語法(似乎沒用)

..

NoCache 語法 ~~NOCACHE~~

– 新增/異動 dokuwiki 內容頁面整合方式

– 匯出 wiki 頁面的方式

– 備份 Dokuwiki 的方式

– Dokuwiki 每頁統計點閱次數方式

dokuwiki 如何在页面左侧显示索引?

请问dokuwiki 如何在页面左侧显示索引?

 

2015-05-28 09:45网友采纳

如果没有左侧的索引目录我们在写文章的时候非常不方便,我们来看一下如何可以调出在左侧的索引目录。
  方法/步骤1
  设置标题
  把需要的目录按级别设置好,例如我们常常用到的标题一、标题二等等,把这些设置好之后可以出来完整的目录。
  插入页码
  插入——页码——页部底端,然后可以任意选择样式,设置自己需要的样式就可以了。
  设置目录
  设置好标题之前,插入目录,一般有手动和自动两种,最好选择自动,选择好之后,在第一页的最上方就会出现已经设置好的目录。
  设置索引目录 视图——导航窗格,就可以在左侧看到相关的目录,在这里可以编辑级别,方便操作。

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}}]]

http://www.php.net

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

脚注

您可以使用两个连续小括号来添加脚注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支持带编号或不带编号的列表。要使用列表,在文字前加入两个空格,然后使用*标志不带编号的列表,用-标志带编号的列表。

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

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

表情符号

DokuWiki会将一些常用的 表情符号 转换为图像。除了默认的表情符号以外,您也可以在 smiley 文件夹中放入更多的表情图,然后在 conf/smileys.conf 中设置它们即可。下面是Dokuwiki包含了的表情图像:

  • 8-) 😎
  • 8-O 😯
  • :-( 🙁
  • :-) 🙂
  • =) =)
  • :-/ :-/
  • :-\ :-\
  • :-? 😕
  • :-D 😀
  • :-P 😛
  • :-O :-O
  • :-X :-X
  • :-| 😐
  • ;-) 😉
  • ^_^ ^_^
  • :?:
  • :!:
  • LOL LOL
  • FIXME FIXME
  • DELETEME DELETEME

印刷样式

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

→ ← ↔ ⇒ ⇐ ⇔ » « – — 640×480 © ™ ® “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或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站点的设置。(?)

1) 看这里,这是一个脚注

Dokuwiki 侧边栏配置

Dokuwiki 侧边栏配置

默认的模版 dokuwiki,支持侧边栏。

  • (1)配置里有个 sidebar 侧边栏的页面名称,这里填写 页面路径
  • (2)创建这个页面。

此时,侧边栏就出来了。

当同级命名空间下有相应的侧边栏页面,则使用此页面。

相关插件

simplenavi

根据访问者权限列出所有命名空间,默认自动展开当前页面所属空间,不能折叠此空间。

命名空间页面链接自动指向:start页。

{{simplenavi>}}

可以指定起始空间:{{simplenavi>some:namespace}}
simpleindex

根据访问者权限列出所有命名空间,默认自动关闭所有命名空间。

<simpleindex>

可以指定排除的空间:<simpleindex ns1,ns2>
indexmenu

基于dtree,

navi

利用一个页面中的链接生成导航。自动根据当前页面展开命名空间。

Sidebar Template

自动加载本命名空间的sidebar页面。展示形式跟Dokuwiki的站点地图一样。

NsToC

列出指定命名空间的标题,可以指定标题的层级。场景:比如图书的目录等。

其他

pageindex,catlist, dir, nspages, pagequery

dokuwiki之使用与教程

dokuwiki是个很好的WIKI,不用数据库,用文本存储数据,转移方便。

今天再次使用Dokuwiki搭建一个wiki,用于介绍法格产品,专门摆放法格锅具、法格电器、法格橱柜的信息。

发现很多用法已经忘记了,特此记录,博客一可用来表达心情,二可用来记录

dokuwiki的安装

1,用了纯粹空间的unzip.php但是没成功,不知道怎么回事,少的数目文件能解压,多文件就不能解压,难道dreamhost做了空间限制?查看后发现有很多语言文件,在inc lib目录下,点开到里面找lang目录,只保留了en zh二个目录文件,就是英文和中文,凭我这智商,能看懂这二个就不错了。用cutftp上传,成功。原来 文件太多,传到后来就出错

2,现在安装了

很简单,在目录后打入install.php,比方http://www.zjtianxiang.com/bk是我FTP上去的目录,那么安装 就在浏览器里打入http://www.zjtianxiang.com/bk/install.php.在页面右侧选择语言为:ZH,马上看见熟悉的汉字出来了,依次选择,你站点的名字,人们是否可以访问你的站点,这里我选择ACL,因为我要搭一个,一部分可以任何人访问 ,一部分只有部分用户可以访问的站点。安装完后,安全起见要删掉install.php文件.另外,这里所做选择可以在管理里面,有更详细的控制

dokuwiki做一个可控的wiki

说到控制,先要说到命名空间和页面。

命名空间代表一组页面的集合,比方饮料,下面可以包括茶、咖啡、可乐。

而具体的 绿茶,就是个页面了,比方绿茶是什么的页面

但是绿茶还可以再分的,比方龙井、毛尖,所以也可以把绿茶既做为命名空间,也做为页面,但是在wiki中写法不同。

写一个饮料的命名空间是这样的:

[[:饮料:茶]]前面一个:饮料 代表一个命名空间,茶代表一个页

[[:茶:龙井]]就是个茶的命名空间了

那为什么要去做命名空间呢?

因为当他形成一个命名空间时,可以对一个命名空间给权限,这样就起到了访问控制。

加几个用户名,把这个用户名做到一组,比方work,这样做的好处,用过linux都知道,只需对组给权限就可以了,会简单的多

管理员登录–》下面管理—》访问控制–》进入后

选择左侧刚才 做的命名空间,(注意,命名空间前面有+号,页面没有)到右侧输入组的名字,比方刚才 的work.

然后在下面会出现一个权限,越往上越大,最大是删除,一般到上传就可以了。万一删除就不好了。再点确定。

下面会有给各组的权限。

这样就有了一个别人能看主页面,work工作组能访问编辑 饮料 页面组的维基了。

以此交流。

DokuWiki 设置

为DokuWiki添加登录功能

DokuWiki的登录功能默认是关闭的,您可以通过配置local.php,users.auth.php,acl.auth.php这三个文件来设置DokuWiki的登录功能。

具体设置方法请见下面的说明:以本机调试为例。

DokuWiki的安装

  1. 首先去wiki官方网站去下载一个最新版本。
  2. 将下回来的文件解压,并传到站点根目录下的dokuwiki1)文件夹中。
  3. 在浏览器中输入类似“www.example.com/dokuwiki/index.php”格式的网址,就可以访问wiki了。

DokuWiki的配置

DokuWiki默认的首页为Python 俱乐部页,现在首页里没有任何内容,页面也是英文的。下面我们来配置几个参数,让我们的wiki更符合我们的要求。

配置local.php 全局设置

在conf目录下,找到local.php.dist,这个文件即local.php的样本,将其复制一份,重命名为:local.php。

local.php采用utf-8编码存储,使用支持utf-8编码的文本编辑器打开,内容见下(为了查看方便,去掉了一部分注释,请仔细对照):

  • 原选项前含有“//”注释符号,若想使相应选项生效,必须去掉注释符。
$conf['title'] = 'My Wiki';              //wiki页面的标题,即页面右上方的标题。
$conf['useacl'] = 1;                     //启用ACL管理。0-不启用;1-启用。见下:
  • 使用acl权限审核。acl-Access Control Lists(访问控制列表)。有两个选项:0-关闭权限审核,1-开启权限审核。
  • 如果想添加用户登录功能,必须开启权限审核。
$conf['superuser'] = 'admin';            //超级用户(管理员)登录名。
$conf['authtype'] = 'plain';             //这里使用plain(简单)验证方式。

常用的三种登录验证方式:

  * plain-使用配置文件,conf/acl.auth.php存储用户名及密码资料。
  * ldap-使用ldap主机的用户资料来做使用者验及提供用户身份。
  * mysql-使用mysql数据库资料存储用户资料。
  //require_once ("mysql.conf.php");        //如果你不使用MySQL数据库,那么就请保持这一行的注释状态,或干脆删除该行。

接下来,根据情况,添加如下内容:

$conf['lang'] = 'zh';                    //wiki的界面语言。默认为“en”,中文请改为“zh”。
$conf['youarehere'] = 1;                 //显示you are here导航。0-不显示,1-显示。
$conf['defaultgroup'] = 'user';          //默认用户组。
$conf['htmlok'] = 1;                     //是否支持html标记。0-不支持,1-支持。
$conf['phpok'] = 0;                      //是否支持php脚本。0-不支持,1-支持。
$conf['openregister'] = '0';             //是否允许用户注册。0-不允许,1允许。

至于local.php文件配置完成。

配置acl.auth.php 权限管理

acl.auth.php中存储用户组及页面权限信息。在conf目录下,找到acl.auth.php.dist,这个文件即acl.auth.php的样本,将其复制一份,重命名为:acl.auth.php。

默认的acl.auth.php文件内容如下:

# acl.auth.php
<?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Editing this file by hand shouldn't be necessary. Use the ACL
# Manager interface instead.
#
# If your auth backend allows special char like spaces in groups
# or user names you need to urlencode them (only chars <128, leave
# UTF-8 multibyte chars as is)
#
# none   0
# read   1
# edit   2
# create 4
# upload 8
# delete 16
*               @ALL        8

注意,这个权限表由下往上是相互包含的,即如果你为一个用户组设置上传权限,那么上传权限以上的权限,读取,编辑,建立等是自动添加的,一定要注意。按此编辑用户组权限如下:

  *	@admin	255                   //为admin用户组分配全部权限。255这个权限值是专为admin用户组准备。
  *	@user	8                     //为user用户组分配上传以下的权限。
  *	@ALL	1                     //为所有人,即浏览者分配读取权限。
  playground:playground	@ALL	2     //为playground:playground页面分配编辑权限。

配置users.auth.php 用户配置

users.auth.php中存储用户组及页面权限信息。在conf目录下,找到users.auth.php.dist,这个文件即users.auth.php的样本,将其复制一份,重命名为:users.auth.php。

默认的users.auth.php文件内容如下:

# users.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Userfile
#
# Format:
#
# user:MD5password:Real Name:email:groups,comma,seperated

最后一行,即user:MD5password:Real Name:email:groups,comma,seperated即添加单个用户配置的标准格式。

user                     -->用户名
md5password              -->采用md5加密的密码
real name                -->真实姓名
email                    -->电邮地址
groups                   -->用户组

各个权限项之间用:分隔。举例如下,用户名:admin,密码:admin,真实姓名:tr.c,电邮地址:tr.c@huobao0911.com,用户组admin

admin:21232f297a57a5a743894a0e4a801fc3:tr.c:tr.c@huobao0911.com:admin

生成md5编码

用记事本编辑以下文本行,存储为md5.php,在服务器上调试此文件,生成相应文本的md5编码:

<form action="" method="post" name="form1">
  <input type="text" name="textfield">
  <input type="submit" name="Submit" value="create">
</form>
<?php
echo $_POST["textfield"];
echo "<br>";
echo md5( $_POST["textfield"]);
?>

至此,DokuWiki的登录设置完成。