给MoinMoin写插件

1. 使用 MoinMoin

前些日子,我写了一篇使用MoinMoin作为个人KMS 大赞MoinMoin的各种好处。MoinMoin的其中一个好处是基于GPL的开源, 我们可以方便的给MoinMoin撰写自己的插件(当然也可以去官方的wiki上获取大量现成插件)。

我在使用MoinMoin过程中,有一个急迫需要的功能:

保存一篇网页时候,要将里面的图片保存到本地,而不是使用外链接方式保存, 因为由于各种不可预测的原因,原始图片数据很有可能丢失或者无法连接。

这个功能对于将Wiki产品转化为KMS应用非常需要,可惜MoinMoin官方并没有提供, 我也没在MoinMoin的开发者插件库中找到类似功能,就自己写了一个插件image2attach。

现在我分享一下如何写MoinMoin插件,技术大牛可以直接移步官方开发文档, 我这里只是写一些简单的内容,帮助像我一样的同学。

以下内容需要Python编程基础~

2. MoinMoin 系统结构

MoinMoin的UML图:

MoinMoin
MoinMoin

3. MoinMoin 常用对象

3.1. request

这个request和普通jsp/asp中request很类似(实际上这个request就是继承 werkzeug的Request)。

除了正常的web request功能 …

more ...

使用MoinMoin作为个人KMS

去年9月份时候,我写过一篇《我所使用的知识管理系统》 来介绍我使用的KMS系统。当时经过我层层筛选之后,我选用了Wiz作为我的KMS。

一年多过去了,Wiz在Windows下面工作的非常不错,Wiz团队里陆续推出了iOS / Android / Web版本。我的Wiz收藏的内容也增加到近1000篇。

此时我遇到了KMS再选型的问题,原因很简单:我全线转换到Linux平台, Wiz不符合我的要求了。

我重新整理一下我要求KMS的特性:

  • 跨平台:Linux / Web / iOS / Android / Windows
  • 数据保存格式:移植方便,将图片保存到本地
  • 数据采集方式:支持网络直接拷贝复制
  • 数据索引:支持分类 + tag
  • 协同工作:方便的分享机制
  • 免费

经过我历时N月的搜寻筛选,MoinMoin Wiki中标了!

1. 关于MoinMoin

MoinMoin是使用Python编写的Wiki实现,MoinMoin当前版本1.9。

MoinMoin的优点是:

  • 安装简单;
  • 支持中文全文检索;
  • 汉化较好;
  • 不依赖外界的数据库, 使用纯文本保存, 备份非常容易 …
more ...

MoinMoin plugin: image2attach

MoinMoin
MoinMoin

What’s this

Image2Attach is a extension for MoinMoin. It can create a page action to save images from web to page’s attachments.

Requirment

  • MoinMoin 1.9 (I only test in this version.)

Install

  • copy action/Image2Attach.py to data/plugin/action/
  • restart python server

Usage

Go into …

more ...