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平台。
謝謝關注和留言,多交流!