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系统,使用PHP+文本数据库,安装配置都比较简单,基本符合「够用就好」原则。唯一感觉不爽的就是媒体管理器,很不顺手。

在以往的工作实践中,常用它来进行公司内部的交流与协作,有效保障了信息的沟通。

官网地址是 http://www.dokuwiki.org,有中文界面,可以在左侧选择。

安装

下载、解压,浏览器访问后提示 「Setup Error」,选择 「 run the installer」继续。

一般来说,如果权限没问题的话,就会进入到 安装工具 页面,右上角可以更改语言为简体中文。

填写名称、超级用户帐号、内容发布许可协议等信息后保存继续即可。

配置

简单说一下管理页:

  • 用户管理器:添加和管理用户
  • ACL管理器:修改用户/组对于页面和命名空间的权限
  • 插件管理器:可以在这里更改插件,支持远程下载安装
  • 配置设置:关于Dokuwiki的设置,如模版、显示等设置项,一些插件安装后的设置项也在这里

模版

也就是常说的 主题,下载后解压到 lib/tpl 目录,然后在 管理 - 配置设置 中进行选择即可。

更多的主题可以在 官网的 Extensions页 找到

插件

插件可以通过 管理 - 插件管理器 进行安装,这里介绍几个个人比较喜欢的:

  • imgpaste:在编辑器直接粘贴就可以插入剪贴板中的图片,可以用来快速上传截图。
  • Note:可以在页面中插入醒目的提示文字,有几种默认图标和样式。

用Dokuwiki的BlogTNG插件写博客(一)

之前写过用BLOG套件写博客的,但BlogTNG在很多方面更有优势。经过较长时间的沉寂后,BlogTNG的开发再度开始,现在已经可以使用并且在很多方面超过了原有的BLOG套件。

先大概介绍下BlogTNG:

  • 使用SQLite存储元数据,比如标签、评论等。文章本身仍然以Dokuwiki的文本文件形式存储
  • 基本使用更为统一、简单
  • 灵活性
  • Feed更合理,不会在文章内容修改后重复生成Feed
  • 没有评论过滤机制,需要验证码弥补
  • 目前没有按时间归档功能
  • 不能方便的按照分类组织内容,不是没办法,只是麻烦,不如不用
  • 在国际化方面还有些混乱,不方便翻译

安装和配置

插件网址:http://www.dokuwiki.org/plugin:blogtng

需要sqlite支持,对于debian/ubuntu安装php5-sqlite

sudo aptitude install php5-sqlite

插件本身的安装和其他一样

为了防止SPAM,请务必安装验证码插件:http://www.dokuwiki.org/plugin:captcha

在管理-》配置设置-》Blogtng插件设置里有一些选项可以调节,比如:

  • comments_allow_web:允许评论者填写个人网站
  • comments_subscription:允许订阅评论
  • comments_forbid_syntax:评论中禁止的语法插件,我全部禁止了
  • send_linkbacks:自动发送linkback

注意上面的英文是每个选项的简要描述,也就是上面那行灰色的字,节约空间

基本使用

既然是基本使用,那么就不说BlogTNG的概念、结构和一些细节了,直接以例子来说明最常用的功能

首页——文章列表

<blog newform></blog>

<blog list>
  cache  0
</blog>

<blog pagination></blog>

上面第一个标签<blog newform></blog>显示一个创建新文章的表单,中间的标签显示所有文章的列表并禁用缓存,最后的标签<blog pagination></blog>显示分页

文章编辑

在首页显示的表单里写上文章标题,点击“创建”即可开始写文章了。在编辑区下面的“Tags”文本框里可以为文章指定标签,用逗号分隔

 

现在差不多具备一个基本博客的样子了,可以多创建几篇文章做测试。

其他常用功能

标签云和最新评论,参见我的博客侧栏。这需要特殊的主题,支持侧栏嵌入其他wiki页面的。你可以自己找这样的主题,比如 http://www.dokuwiki.org/template:arctic

以arctic主题为例

最新评论

装好后在侧栏点“sidebar”,然后创建这个页面,写入

<blog recentcomments></blog>

标签云

稍微有些麻烦……仍然编辑sidebar页面,写入

<blog tagcloud>
  target    tagcloud
</blog>

target表示点击一个标签后,用来显示文章列表的页面,这里是tagcloud。保存后可以看到标签云已经显示出来了,现在点击任何一个标签都将跳转到tagcloud页面,编辑这个页面,写入

<blog list>
tags 
</blog>

<blog pagination></blog>

其他

样式方面,除了默认的评论样式可能需要调整,其他的默认就很好。

如果你还想要更灵活的使用,可能要自己多摸索了。一者是“博客”和“模板”的概念,一者是能制作或者找到一个灵活的主题。因为BlogTNG还没最终开发完成,有些功能只能通过修改代码使用,没有相应的设置选项,模板的功能也可以通过代码里提供的函数扩充。

Dokuwiki 手动清理缓存

Dokuwiki糊里糊涂地用了一年多,前两天忽然发现整个dokuwiki文件夹大得吓人,居然有130多MB,而我这个wiki站也就不到10个的页面。巡视一圈,冗余文件集中在 data/cache 缓存文件夹中,dokuwiki靠高速缓存提高页面加载速度,不过我的缓存文件实在太多了,居然有80多MB(大概因为时间太久了吧)

那么,开删!cache文件夹是不能删的,里面的1、2、3、a、b、c什么的全删掉好了,反正删掉之后还会重建。剩下那些文件暂时不明,我查了一些外文资料:

  • _dummy 似乎是一个跟版本号相关的文件
  • messages.txt 似乎包含一些升级信息
  • purgefile 好像是检验缓存时间的时间戳
  • sitemap.xml.gz 就不说了

理论上这些文件都会在特定的时候重建的——不过我全都删了,目前只通过调整设置里的google sitemap生成时间重建了sitemap.xml.gz(缺省值是0,也就是不生成sitemap),其他文件的暂时还没见到,不过似乎也没什么问题。

Dokuwiki官方维基有一条加?purge=true参数的方法,不过那只是强制重建缓存(估计重建之后还是要冗余到一起吧)

http://www.example.com/namespace/page?purge=true

还有一条是禁用缓存,在每个页面加上

~~NOCACHE~~

这个还没试,感觉禁止缓存的方法太偏激了吧,如果只是为了太多的冗余文件那就定期删一删呗。

其实原本只是想找一个自动定期清理缓存的插件,可惜没找到,关于Dokuwiki的中文讨论实在是太少太少了啊……以上只是初心者折腾的个人经验。

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通过LDAP服务器认证

Dokuwiki通过连接LDAP服务器进行认证登;一、配置所需环境:;1、安装完成并且配置正确的LDAP服务器;2、下载并安装最新的dokuwiki,并进行安装;3、确保服务器PHP已安装LDAP扩展;二、配置Dokuwiki采用LDAP认证登陆;1、打开插件管理器;2、安装Authldap插件,勾选authlda;3、进行配置设置;4、具体配置参数;其中参


Dokuwiki通过连接LDAP服务器进行认证登陆

一、配置所需环境:

1、 安装完成并且配置正确的LDAP服务器。

2、 下载并安装最新的dokuwiki,并进行安装。

3、 确保服务器PHP已安装LDAP扩展。

二、配置Dokuwiki采用LDAP认证登陆。

1、打开插件管理器

2、安装Authldap插件,勾选authldap选项。

3、进行配置设置

4、 具体配置参数

其中参数解释:

Ldap://192.168.1.141:389 要连接认证服务器服务器的地址 ou=Wiki,dc=mofang,dc=com 要查询用户信息的dn地址 ou=Wiki,dc=mofang,dc=com 要查询用户组信息的dn地址

version=3 协议版本

(&(uid=%{user})(objectClass=posixAccount)) ① (&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))② ①、② 此两项可使用默认值

5、 修改Dokuwiki登陆认证方式为authldap方式

管理员 @Manager 此用户组为LDAP服务器中的组。

至此,可以通过LDAP服务器中的用户进行验证登陆。

三、LDAP服务器端数据实例

1、LDAP服务器中目录结构

2、结构解释 Common中的test数据可以登录wiki,但是test只是普通用户。 Manager中存在两个用户admin和censor,此组中的用户为管理员,可以进行dokuwiki设置 3、数据LDIF文件 # LDIF Export for dc=mofang,dc=com

# 服务器

: My LDAP Server (127.0.0.1)

# 搜索范围: sub

# 搜索过滤器: (objectClass=*)

# 条目总数: 7

#

# Generated by phpLDAPadmin (http://phpldapadmin.sourceforge.net) on June 14, 2013 6:29 pm # Version: 1.2.3

version: 1

# 条目 1: dc=mofang,dc=com

dn: dc=mofang,dc=com

dc: mofang

description: this is a test

o: company

objectclass: dcObject

objectclass: organization

# 条目 2: ou=Wiki,dc=mofang,dc=com

dn: ou=Wiki,dc=mofang,dc=com

objectclass: organizationalUnit

objectclass: top

ou: Wiki

# 条目 3: cn=common,ou=Wiki,dc=mofang,dc=com

dn: cn=common,ou=Wiki,dc=mofang,dc=com

cn: common

gidnumber: 501

objectclass: posixGroup

objectclass: top

# 条目 4: cn=test,cn=common,ou=Wiki,dc=mofang,dc=com dn: cn=test,cn=common,ou=Wiki,dc=mofang,dc=com cn: test

gidnumber: 501

givenname: test

homedirectory: /home/users/test

objectclass: inetOrgPerson

objectclass: posixAccount

objectclass: top

sn: test

uid: test

uidnumber: 1002

userpassword: {MD5}CY9rzUYh03PK3k6DJie09g==

# 条目 5: cn=Manager,ou=Wiki,dc=mofang,dc=com dn: cn=Manager,ou=Wiki,dc=mofang,dc=com

cn: Manager

gidnumber: 500

objectclass: posixGroup

objectclass: top

# 条目 6: cn=admin,cn=Manager,ou=Wiki,dc=mofang,dc=com dn: cn=admin,cn=Manager,ou=Wiki,dc=mofang,dc=com cn: admin

gidnumber: 500

givenname: admin

homedirectory: /home/users/admin

objectclass: inetOrgPerson

objectclass: posixAccount

objectclass: top

sn:admin;uid:admin;uidnumber:1000;userpassword:{MD5}ISMvKX;#条目7:cn=censor,cn=Manage;gidnumber:500;givenname:censor;homedirectory:/home/user;objectclass:inetOrgPerso;objectclass:pos


sn: admin

uid: admin

uidnumber: 1000

userpassword: {MD5}ISMvKXpXpadDiUoOSoAfww==

# 条目 7: cn=censor,cn=Manager,ou=Wiki,dc=mofang,dc=com dn: cn=censor,cn=Manager,ou=Wiki,dc=mofang,dc=com cn: censor

gidnumber: 500

givenname: censor

homedirectory: /home/users/censor

objectclass: inetOrgPerson

objectclass: posixAccount

objectclass: top

sn: censor

uid: censor

uidnumber: 1001

userpassword: {MD5}idUqt4LZ2p9dxzj56Q3PxA==

用 DokuWiki 打造个人知识管理系统

因为要学的东西很多,因此这段时间一直在考虑建立一个个人知识管理系统,以便更好的梳理自已的学习内容,同时也便于分享,所以最终决定用 Wiki 的形式来打造这一项目。

# 为什么选择 Wiki 来进行知识管理?

Wiki 提供了一种很好的文档格式化功能,可以很好的建立自己的知识体系。同时 Wiki 本来就适用于知识的共享及协同合作,这样既可以分享给别人,也可以让其他的朋友来一起帮助你。

另外,在线的 Wiki 系统可以让你随时随地都能访问及更新自己的知识库,限制性比较少。所以在经过多番比较及Twitter 上许多推友的推荐后,最终选择 DokuWiki 来打造个人知识管理系统。

500px-Dokuwiki_logo.svg.jpg

# 关于 DokuWiki

DokuWiki是一个用 PHP 语言编写的开源wiki引擎程序,它的特点是不需要数据库,采用文本文件直接存储、功能全面,提供丰富的插件及模版支持,简单易用,非常适合中小团队和个 人网站知识库的管理。

官方主页: http://www.dokuwiki.org
下载: http://www.splitbrain.org/projects/dokuwiki

其它一些特性:

  • DokuWiki可以与多种CMS程序进行整合,例如WordPress、XOOPS、PostNuke等。
  • DokuWiki的新近版本完全支持UTF-8编码保存内容,因而支持正文中的中文及多语种输入。
  • 使用类似mediawiki的文本编辑,支持快捷键。支持段落编辑,能自动产生文章目录。
  • wiki语法完善,自动产生条目链接,允许图片上传、外部链接等。
  • 支持无限版本记录,支持彩色版本差异功能
  • 支持页面锁定(只读)。通过ACL插件,还可以控制用户对页面及名字空间的访问权限
  • 支持最近更新的RSS及ATOM发布
  • 支持namespaces以对文章类型进行分类等等。

# 安装和使用

因为无需数据支持,所以它的安装非常简单,上传后执行根目录下的 install.php 文件就可以了,具体的使用方法可参阅这篇 ” DokuWiki 使用指南

# 其它

这是我用DokuWiki 打造个人知识管理系统 : http://w.riku.me/
利用 DokuWiki 编写的一篇文档:如何使用 SSH Tunnel ( 隧道 ) ? ( 注:如果你无法访问 Twitter ,也许这篇文章会对你有用。)

Dokuwiki重写url配置

最近在配置Dokuwiki,碰到url重写的问题,经过研究,过程记录如下:

默认情况下,DokuWiki不做任何的URL重写,它的原始URL是这样的: http://wiki.yes2.me/doku.php?id=page 这样默认的URL不利于有些搜索引擎不收录,而且也不易于记忆 通过设置DokuWiki的配置设置里面的高级设置的userwrite配置选项它可以支持两种URL重写方法:

一个是利用服务器的mod_rewrite,
另一个是在DokuWiki内部自己处理URL重写。
下面是userewrite选项值的列表及其对应的URL格式:

  1. 默认值没有URL重写 http://wiki.yes2.me/doku.php?id=wiki:syntax
  2. htaccess服务器处理 http://wiki.yes2.me/wiki:syntax
  3. DokuWiki处理 http://wiki.yes2.me/doku.php/wiki:syntax

使用服务器处理   先在/wiki/conf/dokuwiki.php中设置:

$conf[‘userewrite’] = 1;
Apache服务器开启Rewrite功能
apache的URL重写是使用mod_rewrite模块。在apache的配置文件中添加如下这行:

LoadModule rewrite_module modules/mod_rewrite.so   然后使用mod_rewrte的指令来配置URL重写规则。这些规则可以放在apache的全局配置文件内,也可以放在DokuWiki的根目录下的.htaccess文件内,事实上DokuWiki已经为了写好了这些规则放在.htaccess.dist中,修改删除部分“#”注释即可 内容如下:

RewriteEngine on
RewriteBase /
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]

RewriteBase / 这一行,你需要根据实际情况做修改成指向你的DokuWiki目录的路径,Dokuwik就在站点根目录或者已经使用子域名解析到相应目录时,需将.htaccess 文件中的 RewriteBase /行使用首字符“#”将其注释