WIKI 系统的选择

由于博客不再转载文章,我弄了一个 wiki系统 ,这个系统使用的是 dokuwiki

使用 wiki 系统还有许多好处,包括但不限于:

  1. 方便保存一些零碎的想法;
  2. 转载文章便于管理;
  3. 文章之间的关系更加系统化;
  4. ……

这个系统大概有2年多了,也积累了 300 篇 wiki ,dokuwiki 有很多优点,例如小巧易用,不需要数据库等等。但最近我越来越感觉在线系统的不方便。例如:

  1. 编辑器太弱,在浏览器中编辑大段文章的体验很糟糕;
  2. 没有版本管理,需要手动备份;
  3. 需要经常更新;
  4. wiki 许多优秀的生成器不支持 wiki 格式。

因此,No Zuo No Die 的思想又开始泛滥,继 博客静态化工作 之后,我又开始折腾 wiki 静态化。

数据备份倒是好办,直接把 wiki 格式的纯文本从 dokuwiki 的文件夹中复制出来就可以了。wiki 这种标记格式的支持,还是没有 Markdown 广泛,甚至都不如 AsciiDoc 。因此,我需要把 wiki 格式转换成 Markdown 。这个简单,祭出 Pandoc 大旗就好了。

比较麻烦的是新系统的选择。在我看来,这个系统必须包含这样几个特点:

  1. 必须是静态化生成系统;
  2. 采用 Markdown 作为基准格式;
  3. 支持自动转换成 HTML;
  4. 支持模板,最好是 Jinja2;
  5. 支持搜索。

我首先考虑的是 vimwiki ,毕竟我的 wiki 的第一个版本就是用它实现的。但这个系统对中文的支持比较糟糕,对 MarkDown 的支持也不够好。想来想去,还是放弃了。

接着是 gollum ,这是 github 的 wiki 系统的开源项目,应该是首选。但折腾了一会儿之后,发现在 windows 上很难配置,于是放弃。

然后是 Read the Docs ,许多 python 库的文档都放在这里,且同时支持 Markdown 和 reStructuredText 。在 CentOS 上折腾了一会儿之后,感觉这玩意儿依赖太多了点,又放弃。

再然后是 Gitbook ,这个我倒是挺喜欢。界面简洁,依赖也不太多。同时它提供一个不错的在线编辑器,编辑器支持多种标记语言,支持实时预览。和 github 整合后,可以直接用编辑器修改 github 上的项目,也可以自动在 github 的仓库和 gitbook 的仓库中做切换。折腾了两天后,我发现只有位于 SUMMARY.md 中的文章才会被转换成 html ,所以这个系统完全是为在线发布书籍而生,不适合 wiki。

Leanpub 也是类似的系统,我就没仔细研究了。

选到最后,还是回到了 Pelican ,改改用来生成 wiki ,看起来也蛮不错的。

顺便说一句,如果希望自动监控 git仓库 ,将其中的内容通过 FTP 传到自己的发布网站上,可以使用这个在线服务: FTPLOY 。当然,自己写 hook 也行啦。

下面两个网站列出了许多静态生成器供选择和比较,可以去瞅瞅:

全文完