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 插件整理

内置插件

非内置插件

  • Add New Page plugin:addnewpage 在页面中显示添加新页面表单
  • Ace Editor plugin:aceeditor 支持键盘功能键的编辑器。注意:该插件已不再维护。请使用CodeMirror插件。
  • markdownextra plugin:markdownextra 支持markdown语法
  • mathpublish plugin:mathpublish 数学公式渲染
  • move plugin:move 移动页面的同时移动对应的媒体,修改链接到它的页面链接。
  • Meta plugin:meta 指定页面元数据,比如页面标题、作者、创建时间等。以用作其他用途。不会覆盖data/meta中数据
  • OpenOffice.org Export plugin:odt 导出odt格式文档(相当于word)

更多参考

Dokuwiki主题/模板制作

之前也有写过,不过已经删掉了,因为提到的方法什么的都过时了,很多内容也没说清楚。看评论时发现这方面的东西还是有人需要的,于是决定重新写一遍。对于主题/模板的制作,除了官方文档之外,也可以在符合 Dokuwiki 标准的 starter 模板基础上进行修改,不少不错的模板都是基于它的。和官方文档类似,这里以 Starter 模板为例。

先安装 Starter 模板,并将 lib/tpl/starter 重命名为 lib/tpl/[你的模板名称] (名称应仅包含 a-z 和 0-9),然后在配置管理器里选择这个新模板。

目录结构

Starter 模板的目录下有不少文件,其中必要的有:

  • main.php: 主要的页面布局文件,决定我们一般所看到的页面的布局
  • detail.php: 图片的详细信息页布局
  • mediamanager.php: 媒体管理器/选择器窗口的布局
  • style.ini: 样式控制文件,决定每个样式表应用的情形(屏幕、打印等),并定义一些全站通用的颜色
  • template.info.txt: 模板的信息文件,包括名字、作者的信息等。

页面布局 (HTML+PHP)

页面布局的三个文件中,通常只需要修改 main.php,因为它影响一般所看到的页面的布局。没有特别需求的话,detail.phpmediamanager.php 不必修改,也可以直接复制默认模板的。布局文件是HTML+PHP,可以调用 Dokuwiki 提供的模板函数来显示标题、维基内容等等,也可以调用全局变量。Starter 模板的 main.php 比较复杂,可以先看一个简单的例子

<html>
  <head><title><?php echo $conf['title']?></title></head>
  <body>
    <div class="dokuwiki">
      <?php tpl_content()?>
      <?php tpl_indexerWebBug()?>
    </div>
  </body>
</html>

这会在标题栏显示网站名称,在页面上显示维基的内容。其中 $conf 是一个全局变量,包含 Dokuwiki 的配置信息。而 tpl_content() 是一个模板函数,可以显示带目录的文章内容。另外一个tpl_indexerWebBug()是每个模板都必须有的函数,否则搜索的索引可能无法建立。

模板函数中的 tpl_includeFile() 可以引用模板目录下的其它文件,从而方便用户添加自定义的内容。比如在 main.php 中写

<head>
    <?php tpl_includeFile('meta.html') ?>
</head>

可以将当前目录下的 meta.html 的内容放入。另外,在被引用的文件中也可以使用 PHP 代码。默认模板和 Starter 模板都预先定义了一些钩子,参见 Include Hooks

页面样式 (CSS)

对于模板的样式,Dokuwiki 会先读取 style.ini 文件 (参考 devel:style.ini)。这个文件决定需要哪些 CSS/LESS 文件以及每个文件应该用于何种情形(屏幕,打印等),同时对全站通用的颜色占位符进行定义。比如

[stylesheets]
css/basic.css  = screen
css/design.less = screen
css/print.css  = print   [replacements]
__text__ = "#333" ; @ini_text

这表示 css/basic.csscss/design.less 将应用于屏幕显示,而 css/print.css 用于打印,同时定义了__text__占位符代表的颜色。之后只需编辑相应的 CSS/LESS 文件就可以了。在 CSS 中使用颜色占位符的示例如下

body {
    color: __text__;   
}

如果是 LESS 则是

body {
    color: @ini_text;
}

linux下面dokuwiki安装

官方网址:
http://www.dokuwiki.org/dokuwiki
在线文档:
http://www.dokuwiki.org/
一个图形化的安装过程:
http://www.dokuwiki.org/install:screencast
下载网址:
http://www.splitbrain.org/projects/dokuwiki

安装过程:
比较好的参考网址:
http://www.dokuwiki.org/install
http://sinosmond.com/guide/dokuwiki/dokuwiki_install

最简过程:
1)下载最新dokuwiki
下载网址:
http://www.splitbrain.org/projects/dokuwiki
这里我下载的是:
dokuwiki-2009-12-25c.tgz

2)解压文件dokuwiki-2009-12-25c.tgz:
$tar -xzvf dokuwiki-2009-12-25c.tgz

3)配置安装环境:
3.1)sudo apt-get install apache2 apache2-mpm-prefork
3.2)sudo apt-get install php5 php-pear php5-cli php5-gd php5-imap php5-common
这里,应该就可以访问dokuwiki了。
如果安装之后不好使,就重启一下apache:/etc/init.d/apache2 restart,如果还是不好使,就再安装下面两个:
$ sudo apt-get install php5-mcrypt php5-mhash php5-syck php5-xmlrpc php5-xsl
$ sudo apt-get install libapache2-mod-php5

4)拷贝dokuwiki-2009-12-25c目录里面的内容到web地址空间:
$sudo cp dokuwiki-2009-12-25c /var/www
这里,/var/www下面只有一个index.html如果在你的浏览器中敲入你的ip地址,会自动打开这个页面。/var/www是apache2的默认web地址空间,这个地址在/etc/apache2/sites-available/default里面应该有所指定,更多的配置需要了解apache配置相关的知识这里不多说了。在拷贝之前,删除这个index.html。

5)初始配置dokuwiki:
在浏览器输入:http://<你的ip地址>/install
这里,注意,我曾经输入过”http://<你的ip地址>/install.php”总是提示保存php文件,怎么走不通后来输入了http://<你的ip地址>/install就好了。
注意,这里刚开始不要直接输入”http://<你的ip地址>”,因为这样不会自动进入install的安装界面,而是进入dokuwiki的最简界面,之后如果再想安装可能就会提示已经有了某某文件无法继续了,为了出现这个情况,最好第一次就运行
http://<你的ip地址>/install.

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 /行使用首字符“#”将其注释

搭建自己的Wiki ,用于发布进度和自己的工作心得

0 need to know:

DokuWiki是一个针对小公司文件需求而開發的Wiki引擎。DokuWiki是用程序设计语言PHP开发的并以GPL 2发布。DokuWiki基于文本存储,所以不需要数据库,其数据文件在Wiki系统外也是可读的。DokuWiki的功能齐全,支持UTF-8,最新版支持中文链接。能够单独编辑页面中的某个章节,能够自动生成目录,适合中小企业、个人使用,用作资料归档、指南、读书笔记等。DokuWiki安装很简单,默认提供配置工具。
 
  • 文本存储:DokuWiki通过txt文件存储页面,不需要数据库
  • 版本控制:DokuWiki存储每一个Wiki页面的所有版本,允许用户比较当前版本和任何历史版本。使用了和MediaWiki类似的差异引擎(比较版本间的差异的软件)。通过计时锁定机制,可以防止不同用户编辑同一个页面时产生冲突。
  • 访问控制:访问控制可以通过用户管理程序完成,用户管理程序允许定义用户和用户组,以及定义访问控制列表,其中管理员用户可以定义页面和名字空间级别的权限。
  • 插件:DokuWiki具有一个通用的插件接口,这个接口简化插件的开发和维护的过程。目前已经有超过100个可用的插件。管理员用户在插件管理程序的帮助下可以很容易地集成和管理这些插件。
  • 模板:Wiki的外观可以自定义。开发社群已经提供了许多不同的模板。
  • 国际化和本地化:DokuWiki全面支持Unicode(UTF-8),所以可以显示如中文泰文希伯来文等语言。目前DokuWiki的界面已经有约40种语言。
  • 缓存:DokuWiki存储Wiki页面渲染后的的输出,以减少服务器的负载。
  • 全文检索:DokuWiki集成有一个索引搜索引擎,用户可以在Wiki上搜索关键字。
  • 没有所見即所得的编辑器:DokuWiki不提供所见即所得的编辑器,但有提供编辑工具条。

DokuWiki的其它特性可参见其主页的特性列表

–from 维基百科

1 准备工作

i.安装apache2
  1. sudo apt-get install apache2  

然后在浏览器中输入:

localhost
如果显示 It works ,说明web server已经运行。
 
ii.安装php5
 
  1. sudo apt-get install php5  
  2. sudo apt-get install libapache2-mod-php5  
  3. sudo /etc/init.d/apache2 restart  

测试是否成功:
vi /var/www/test.php
添加以下内容
<?phpinfo()?>
再次登录网页,输入:
localhost/test.php
如果显示了php的版本信息等,那么就说明成功支持PHP,到此准备工作完毕

2 安装DokuWiki

Step 1: 从这里下载 Download Page.
Step 2: 阅读 security page 关于如何保证自己的Wiki安全. 如果有疑问,这里是mailing list
Step 3: 下载好的压缩文件,解压后的dokuwiki,放在/var/www/文件夹下,当然,修改一下权限,可读可写.
Step 4: 在浏览器中输入”localhost/dokuwiki/install.php”,按照提示,点击安装,如果发生错误,一般是权限不足,chmod a+rw -R dokuwiki/

3 使用方法

访问我们建好的wiki,这是我自己新建的一个简单的HelloWorld

如果想学习更多DokuWiki可以做到的事情,你可以看官方的视频,也可以看手册,但是最简单有效的
方法是去edit官方网站的网页(你才知道这个也是DokuWiki做的?)看看它的效果是怎么做出来的

 

Edit:

dokuwiki简介+windows安装+杂技

DokuWiki是一款简洁轻便,代码整洁,功能强大而灵活的开源Wiki程序。尤其适用于中小团队和个人网站知识库的管理。可以预见,在声名鹊起的web2.0风潮中,DokuWiki必将更会广泛应用。

主要内容:
一、下载与简介
二、实践与技巧
三、杂乱的资料

一、下载与简介
==========
是一个知识管理工具。wiki的。
下载地址是:
http://www.splitbrain.org/blog/2008-05/16-dokuwiki_on_a_stick_2008-05-05
(这个版本的比较简单,后面就是用的这个)
官方:
http://www.splitbrain.org/projects/dokuwiki

二、实践与技巧
==========
我在windows上面的使用过程:
*安装:
1)在http://www.splitbrain.org/blog/2008-05/16-dokuwiki_on_a_stick_2008-05-05下载
2)解压,看README
3)根据README进行如下过程:
3.1)运行mapache.exe
这样弹出一个dos窗口,不要关闭它。
3.2)在浏览器上面敲入如下网址:http://localhost:8800/
之后自己慢慢学习。
3.3)想要退出就运行stop.exe.

*创建一个新的页面:
方法1)想要创建一个新的不存在的页面,要先访问它,提示不存在才能创建。例如:http://localhost:8800/playground/new 提示没有这个页面然后创建它。也可以创建目录,再创建页面,只需事先访问它。

方法2)在搜索框里面搜索 :playground:bad:new 这个不存在的页面,然后在结果中点创建该页面,就可以创建那个相应目录下面的页面了。目录用unix目录结构表示,是/playground/bad/new 。这里貌似直接使用/playground/bad/new进行搜索也行,或者使用bad/new会自动定位到相应的地方的。
如果再搜索playground/bad/new/haha并且创建,也不会覆盖原来的new,而是另外又新建立一个new目录。

方法3)手动在dokuwiki\data\pages目录下面创建相应的目录或者文件,然后dokuwiki会自动地将它们映射成页面和namespaces的。

)使用pagemove插件可以移动和创建.注意目录要使用类似linux的绝对路径

*删除一个页面
保存一个空的页面,那么这个页面会自动删除,如果一个目录下面没有页面了,那么这个目录也被删除。
似乎手动在dokuwiki\data\pages创建一个新的目录不会被删。

三、杂乱的资料
============
下面是杂乱的学习资料:
start主页
Welcome to your DokuWiki on a Stick
This is a DokuWiki install combined with a minimal Apache server preconfigured to run from an USB stick. The Apache/PHP setup is based on the MicroApache project.
This install comes with a precreated superuser. Login with admin/admin to access the DokuWiki administration backend. Be sure to change the password!
If you want to save some space on your stick you can delete languages you don’t need from dokuwiki/inc/lang/ and dokuwiki/lib/plugins/*/lang/.
Have fun!
以上的主要内容是:
DokuWiki安装的时候,可以从USB盘上面启动,需要的配置Apache非常之少。
安装的时候,预先创建了一个超级用户,使用admin/admin来进入DokuWiki管理后台。请记住要修改这个密码!
如果你想要节省一些空间,那么你可删除dokuwiki/inc/lang/和dokuwiki/lib/plugins/*/下面的你不需要的东西。

*如何添加一个新的条目或者目录分类?
尝试了一下,在
D:\Program Files\DokuWikiStick\dokuwiki\data\pages
添加目录或者文件可以显示出来,但是不知道这样是不是正规的途径。

*如何备份DokuWiki?
http://www.dokuwiki.org/zh:faq:backup?s[]=backup
由于 DokuWiki 不使用数据库,备份是很简单的。您需要做的就是拷贝所有的文件。最简单的方法就是备份您的整个 DokuWiki 目录。
如果您想要节约一些空间,您至少需要备份下列目录:
data/pages
data/meta
data/media
conf

常用的插件:
http://sinosmond.com/guide/dokuwiki/dokuwiki_plugin#常用的插件
http://www.dokuwiki.org/plugins

一些技巧
http://www.ichiayi.com/wiki/tech/dokuwiki_tips

用 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 侧边栏配置

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