Serendipity

考虑是不是换个系统,注意到 Serendipity,今天我不再负责为它摇旗呐喊,因为已经有人这样做过。它可能是德国人开发的 blog 软件中最出名的,虽然这方面他们不见得有什么原创精神,Serendipity 产生的动机是用 php 做一个 MT like 的东西,迄今为止还保留了 .html 的伪静态后缀,难道这能看起来专业点吗?

有些开始以轻巧迅捷见长的东西,到后来会被人诟病复杂、迟钝、俗套等等,比如 Firefox 和 Wordpress。Wordpress 的 Hooks,至少文档是相当丰满的,而它的 Theme 机制也有创造精神,吸引这么多人为它开发并且吸收进入后继版本,终于爆出 habari 这种叛逆,这,就叫冤孽~~

Serendipity 的创始人 Jannis Hermanns 发起这一项目时,目标是让他 12 岁的妹妹也能使用,因此 Textpattern 用一个数据库全打包收的做法还是不如 Wordpress 的 Active 方便。Serendipity 采纳了后者的优点,在插件和主题管理上它和 Wordpress 非常相似。

深入一点说,作为后来者的 Serendipity,内置了 View 和 Control 层分离更为完美的 smarty 语法,smarty 这种东西据我的理解也就类似于 txp_ 标签的一层,不过通用性自然是后者不能比的(主要还是时髦~~)。

同样为人称道的 Serendipity 插件开发,优势也在于此。其实也是一个封装的程度问题,Wordpress 和 Textpattern 不彻底之处是你往往还需调用额外的 php 函数,这样插件的代码会显得不够清澈,升级和安全性都有问题。而 Serendipity 更为简单一些,升级不存在什么问题,核心程序也更加不可见。(Plugin API\Event hooks

除了多用户、XML/RPC 这些常见的功能,还有一些小亮点:

  1. 预置的媒体库省却外装插件的麻烦;
  2. 独辟“媒体管理”区域,可以从外链上传图片、批量上传、并且实际上生成了缩略图而不是 Wordpress 那样用 javascript 套住;
  3. 数据导入支持 17 种 blog 平台(1.1 版),包含 textpattern ^_^,支持远程导入;
  4. 数据库支持 MySQL(i)、PostgreSQL、SQLite 稍微广泛一些;
  5. 网页内嵌功能
  6. 回复有线状和树状两种显示模式,有点像 Google Group;
  7. 分类上也内置了层级分类;
  8. 有一个“使用浏览器内设定的编码”开关,可以根据读者浏览器的预设语言调整网页语言;
  9. 不仅是多用户,更有群组管理,可针对不同的群组对不同的类别实现限制阅读;
  10. 多种格式的 feed 输出;
  11. spam 少;
  12. BSD 而不是受限制的 GPL。


当然也有较严重的问题:

  1. 自带的搜索对中文是无解的,用外部搜索,或者 Hack
  2. 中文支持的 bug 可能需要 Hack 解决;
  3. 主题上载之后不能在线编辑。


后来,12 岁的小朋友倒不见用了,反而是一些 Web 工程师在使用 Serendipity,可能只是市场的问题,因为设计上我觉得是很有亲和力的。

Photo Hosted at Buzznet

如果你惰于安装一个又想尝试的话,我无意中发现了一个还算流行的德国 BSP 1on.de,除了不能 hack 之外它的服务还是不错的(1.1 版),注册时如果对德语不熟悉就照下面猛击:

1on.de > Neuanmeldung > 选好域名 > [Weiter]

或者用“demo|demo”进入绿光森林的测试页(0.9 版本)。