Blog

用 MoinMoin 做首页

我最早接触的 wiki 系统是 MediaWiki,带我进入 wiki 这扇大门的正是维基百科。我读过一些文章描写过有些人第一次听说一种新技术而激动不已,我当时对 wiki 没有这种感觉。事实上,我那时也不理解 wiki 的作用是什么。为了尝试,我在维基百科上建立了一个 “Gnu 宣言”页面,然后把那篇文章给复制了上去。结果没一会儿,我就发现我建立的页面不见了,然后我的 talk 页面上多了这么一条消息:

欢迎加入Wikipedia大家庭!在动手之前,请先抽出时间阅读Wikipedia:版权信息、Wikipedia:如何编辑页面及Wikipedia:帮助。您也可以到Wikipedia:沙盒中实验一下,有什么问题请到Wikipedia:互助客栈提出,或者直接与我联系。请注意Wikipedia并不收入原始资料。例如“GNU宣言”一文,应当加入介绍GNU宣言的文章,而不是原文。谢谢!–Formulax 2003年8月9日 02:42 (UTC)

这是我第一次的 wiki 的体验。这之后,我陆续在维基百科上进行过数次编辑,渐渐的了解了 wiki 是什么东西。不过,真正让我体会到 wiki 可以用来生成网站的页面是后来的事情了。

当我意识到 wiki 可以用来生成首页时,我已经用一个手写的 HTML 静态页面来做我的首页几年时间了。因为时我随意手写的,因此那个网页非常简单,上面除了我的名字之外,就只有一些我别的网页的链接,比如说 blog、相册等等。之前我还在上面放过我写的论文、我的头像等等,不过靠手动来管理这些东西,实在是太麻烦了,我渐渐的就把它简化成了像这样最最基础的页面了: My homepage until Feb 11, 2012

我过去是通过 ssh 登陆到主机上,用 vim 来编辑 index.html 文件来制作首页。有时候要往上面放中文时而终端不支持中文字符的话,就用 Emacs 远程编辑这个文件。我也考虑过在本地写好了所有的东西后再同步到服务器上,但这些页面保存在本地上,我又不能随时带着电脑,没法做到随地修改,还是太麻烦。正因为没有一种非常方便的编辑页面的方法,所以我的首页都是万年一个样,我都想考虑过要不要把我的 blog 直接放在根目录下呢。直到后来我想到了 wiki 可以帮我完成这一切。

其实,我最早想用到的工具不是 wiki,而是 Movable Type。MT 5 出来之后,我发现它在过去的基础上添加了 website 这个概念。经过尝试,我觉得 website 就是用来放 blog,这其实不就是一个网页么。而 MT 的后台编辑也勉强可以达到我的要求了。把 blog 和首页一起生成,不但让首页的风格跟 blog 统一,而且还可以让首页趁此机会丰富一下内容。可惜到后来我失败了。当我对 MT 5 的了解加深之后,我才发现 website 并不是我要的东西,中间有些东西要配置起来实在是太复杂了。

MT 不行,我之后才选择了 wiki。出于我个人对于简洁的喜好,我选择了相当简单的 wiki 系统——UseMod Wiki。安装它特别容易,我很快用它生成了一个比较不错的页面。但是当我往页面上添加东西时,我发现这个 wiki 系统不让我在页面里添加 HTML 代码,而它本身的格式功能也比较弱,这就让我感觉很不爽。比方说我想在页面上放几个贴纸,人家给出的代码我复制过来就没有用。我找过不少资料想解决这个问题,结果发现原来时出于安全的考虑,它禁止在页面里插入一些 HTML 代码。不仅仅是 UseMod Wiki,我找了一些其它的 wiki 系统,都禁止你这么做。如果一个 wiki 是给一个团队用来统一管理文档的,那么这种安全措施非常必要,但对于一个把 wiki 自己用的用户来说,这样就非常不方便了,尤其是我还希望可以用它来生成我的首页。

在尝试了一些其它的 wiki 之后,我渐渐的开始怀疑我这样做是否正确,是不是也有其它人和我一样用 wiki 来生成自己的首页。当中我早就听说过 MoinMoin,但我一直没有成功的安装。原因是那时我对于 FastCGI、WSGI 之类的没有任何经验,因此对这类程序完全不开窍,所以我那时选择的 wiki 基本上是 PHP 写的或者是 Perl CGI 的。到后来我渐渐的对这一点死心了,觉得或许用 wiki 来做首页有点不太实际,于是在 2010 年 2 月,我在空间上用 MediaWiki 单独搭建了一个 wiki

从那时候开始,我也尝试并转换使用了一些其它 wiki 工具。当然 MediaWiki 用的时间最长,后来我换成了 DokuWiki,然后是 MoinMoin。每换用一个 wiki,我都想过如何用它来管理首页。当中我也做过尝试,比如说把 DokuWiki 放在根目录下,把命名空间的分隔符由默认的冒号换成斜杠,结果页面没法显示了。我还考虑过在根目录下搭建 MoinMoin,然后 blog 之类的其它域名指向它们的子目录。结果这样我的 blog 就没法访问了,链接全被 MoinMoin 给拦截了。要让子目录可以访问,只好在 Apache 的配置文件里给它们添加 Alias,实在是太麻烦了。

不过几天早上我突然想到,MoinMoin 不是有用户页面么?在一个团队中,每个人都有自己的页面非常正常,那么私人的 wiki 呢?个人页面不是和我的首页用途重复了么?既然这样,我就用 Apache 的 rewrite 模块来把根域名转向到我的 MoinMoin 的用户页面上不就行了么?经过尝试,我发现这样做确实可以。我很愉快的在我的个人页面里加上了很多东西,编辑完毕后点一下保存,页面马上就生成了,非常方便。而且完全没有字符编码的问题,因为一切都可以在浏览器中完成,我也可以随地编辑我的页面。要在页面上放插图什么的,也不需要我手动用 FTP 来搞来搞去了,都交给 wiki 来管理,太方便了。

虽然我不知道这样做是不是一个好的主意,但至少现在它满足了我一直以来的愿望,现在看来它完全满足我的要求吧。

1 comment

  1. 沙发

Leave a Reply