MediaWiki用了9年多还从来没有尝试过编写扩展程序,有扩展需求也是在MediaWiki官方网站上去寻找能满足需求的第三方扩展。不过有用Drupal过程中积累下来的编写模块的经验,也应该可以编写出MediaWiki的扩展模块。
以前为了在Wiki页面中输出一段循环代码,用过一个叫做include_PHP的扩展,把php程序嵌入到Wiki中,但现在这个扩展已经找好不到了,是因为安全问题已经被删除了,更无法找到升级版本。前一阵子在导入新数据的时候,就遇到报错的情况而无法解决。
所以决心要自己来编写一个扩展程序解决,今天花了一下午的时间,终于算是编写出来了我的第一个MediaWiki扩展程序。需要用的资料如下:
- Manual:Extensions:MediaWiki扩展程序的介绍
- Manual:Developing extensions:自己开发扩展程序的办法
- Manual:Parser functions:编写一个简单解析函数的例子
- 《Mediawiki扩展编写实战》:一篇编写MW扩展的中文介绍
我自己就按照上面那个简单例子编写出来一个Wiki页面中可以使用的魔术字(Magic),可以带参数输出需要的内容。功能、内容很简单,但好歹算是一个成功的例子,以后有更复杂需求的时候,都可以在此基础上继续开发了。
评论2
一直关注你的博客,期待可以有新的插件出来
我也一直用mediawiki,你如果有空,可以做一个在阿里云上的oss插件,也就是把上传的附件使用阿里云的文件存储服务。mediawiki上有一个存到aws的插件可以参考。Extension:AWS你好!我用MediaWiki很多年了
你好!我用MediaWiki很多年了,但编写插件还是刚刚在尝试,还写不出来复杂的东西,也许还要多花时间研究才行。我们在阿里云上也部署了MediaWiki,但是直接就用的云服务器ECS上面放置上传的文件,目前不急于用OSS来保存。另外,我近期可能还要自动新的站点,希望是有用户参与编辑的Wiki类平台,但现在也在考虑是否用MediaWiki,感觉MW还是在易用性、灵活性等方面有缺陷,也在考虑使用Drupal平台。
谢谢关注和留言,多交流!