Dokuwiki插件与主题推荐

Dokuwiki插件与主题推荐

只是一个列表和简要的功能介绍,具体使用看相关文档

主题

Vector是模仿Wikipedia/Mediawiki最新样式的主题,自定义比较能力强。另外其实Dokuwiki现在的默认主题非常不错,也很适合写博客。

如果希望自己写,可以参考这里的文档以及Dokuwiki提供的一个初始模板

插件

外观

  • wrap:几乎涵盖大多数外观、排版上的要求。

交互

  • discussion:添加评论功能,需要pagelist插件的支持。
  • disqus: 添加评论功能,使用 DISQUS 的服务。
  • avatar:使用gravatar头像,多用于评论里的头像显示
  • captcha:验证码

标签

  • tag:用标签来组织内容
  • tagentry:在编辑栏下提供所有标签的列表,方便选择
  • cloud:标签云

导航

  • indexmenu:功能强大。但我不喜欢它默认的样式,又懒得去改。
  • indexmenu2:功能也不错,相对indexmenu略微逊色点
  • pagequery:前面两个主要用于生成树状结构的导航,这个完全不一样,非常值得一看。
  • simpleindex: 生成类似内置索引的简单导航,仅适用于顶层命名空间。
  • simplenavi: 生成一个简单的导航。

其他

还有很多看起来非常不错的,例如画图、化学、图片/视频浏览等,不过自己没用过。

DokuWiki简介及插件推荐

DokuWiki简介及插件推荐

字数476 阅读5348 评论4 喜欢3

DokuWiki简介

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

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

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

安装

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

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

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

配置

简单说一下管理页:

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

模版

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

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

插件

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

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

Dokuwiki主题/模板制作

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

Dokuwiki插件:Wrap

Dokuwiki插件:Wrap

好久没更新了,继续写Dokuwiki的东西……

在我看来,此插件应属Dokuwiki使用中的必备用品之一,绝对值得关注。它主要扩充了排版功能,可以取代以前许多旧的插件。如果你曾经是Osmond的读者,应该对作者介绍一些诸如box、color之类的插件有印象,现在它们的功能都可以用wrap来完成。

更重要的是,用wrap,你可以轻松进行自定义

安装就不多说了,网址:http://www.dokuwiki.org/plugin:wrap

基本语法

总共有两种类型:以大写的<WRAP></WRAP>包围的生成区块元素,即<div></div>;以小写的<wrap></wrap>包围的生成行内元素,即<span></span>。

第一种:

<WRAP classes width :language>
区块元素内容
</WRAP>

第二种

<wrap classes width :language>行内元素内容</wrap>

其中classes指定元素的类(class),width给定一个宽度,language指定语言。在自定义中,最为常用的就是class了,语言一般不用考虑。

用法

说了这么多,估计你仍然不知道怎么用,我当时也不知道。幸好wrap的作者提供了非常完备有用的示例文件。把lib/plugins/wrap下面的example.txt的内容复制到一个wiki页面里就可以随时参考了。这里举几个例子

比如三栏排版

<WRAP column 30%>第一栏</WRAP>
<WRAP column 30%>第二栏</WRAP>
<WRAP column 30%>第三栏</WRAP>

column用来实现多栏排版,默认是左对齐的(CSS属性为float:left)。30%指定列的宽度,也可以用绝对宽度,如200px。

再如产生一个带圆角的漂亮盒子

<WRAP box 50% round></WRAP>

box和column类似,但是预定义了更多样式,默认是有背景色的。这里round指定要带圆角。

column和box有一个特殊的作用,实现对表格宽度的控制,比如占据50%的宽度(column和box中的表格默认都是100%宽度的)

<WRAP column 50%>
^表头^
|表内容|
</WRAP>

再如产生一个带下载图标的圆角盒子(不少网站都用这种效果……)

<WRAP download round 200px>
//**下载**//
</WRAP>

自定义

非常简单,用语法

<WRAP div_test></WRAP>

就会产生代码

<div class="wrap_div_test"></div>

只需要对wrap_div_test类定义CSS就行了。

<WRAP div_test 300px></WRAP>

限定了产生的<div>块的宽度

用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简介

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

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

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

安装

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

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

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

配置

简单说一下管理页:

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

模版

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

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

插件

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

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