說攻略記有點爆笑啦,只是我自己花了一兩天工夫的過程。
先說一下為什麼要跳船回到 blosxom。MT 和 emacs-wiki、Kwiki 都是很快樂啦,只是,我心裡一直在想著某種不一樣的 solution,可以讓我處理一堆既有的檔案,而且在未來繼續生產文件的過程中,將不必要的生產成本降到最低。我的需求是:
- 最好可以不用進 browser 編輯
- 保有 raw material 本來的德性 # 也就是說,純文字的檔,就保留純文字的樣子
前兩三天剛剛和苦海暫告一段落後,本來就想整理整理自己的舊檔案,有散在各目錄的,有 MT 裡的(而且還有不同時代的 MT 呢),也有 blosxom 的,emacs-wiki 和 Kwiki 建的。整理半天時,赫然發現,blosxom 的設計概念,不正是符合我的需求嗎?
是呀,可是號稱十五分鐘可以架設完成的 blosxom,有一個小麻煩:一個舊的檔案修改後,時間就會變成修改完成時的存檔時間,這個小麻煩對我來說,簡直有點是個致命傷。怎麼辦呢?聽說 clkao 已有解決辦法,用 svn。嗯,我哪知道 svn 要怎麼玩。
可是有解決辦法至少比沒有解決辦法好。試了看看。還好 FreeBSD 的 ports 裡就有 subversion,可是沒用,clkao 的 svn-backend 還需要 SVN::Core、SVN::Repos 等等,而且沒辦法直接用 cpanp 安裝(至少我是沒有辦法的)。後來又有解了,獨力翻譯 svn-book 的 plasmabal 據說有「自己的 port」,真棒,而且 plasmaball 人就在 IRC 的 #elixus 上,馬上再問,找到他寫的 port,安裝,還是沒有呀。IRC 的好處是,馬上再問。原來是要再多下個參數,WITH_PERL,真棒,馬上就有解答。
人家的解答好是好,但自己未必就有能力操作。果不其然,本來安裝都沒問題,一加上 WITH_PERL 的參數之後,就失敗了。試了幾次都失敗了,我不太有臉再繼續纏著人家問我自己的小問題。怎麼辦呢?難道那麼多使用 blosxom 的人,都沒有遇上我的困擾嗎?應該不會吧。
所以才再上 blosxom.com 去看,對嘛,有一堆 plugins 嘛。而且有幾個看起來,就是專門為了解決我的問題的,尤其是那個 entries_index_tagged。那不就結了,plugin 抓回來,安裝一下,有什麼好寫這篇「攻略」的。
我一開始就是這麼想的。blosxom.cgi 一個三百行左右的 perl 程式,可以在十五分鐘之內搞定的話,短短的 plugins 應該是三五分鐘吧。結果這三五分鐘,一下子就膨脹成兩三天。天呀,我都乖乖地把 plugins 放到該放的地方了呀,為什麼就是一點作用也沒有。
結果還是得更乖一點,從頭到尾把 blosxom.com 站上的說明文件讀一遍,原來 blosxom 簡單歸簡單,還是有潛力玩到很複雜的。 XD
Ok,我的攻略經驗來了(如果你也 blosxom,而且也碰上和我一樣的困擾,而且願意自己手動在每個檔案的檔首加上一個 meta-tag,那麼就請享用 entries_index_tagged 這個不錯的 plugin:
- 先設定好 blosxom.cgi 裡的 $plugin_dir、$static_dir、$static_password。
- 到 entries_index_tagged 的網頁抓下幾個需要的檔案,包括 entries_index_tagged 本身、meta plugin、module plugin、還有 Time::ParseDate、Time::Timezone、Time::JulianDay 這幾個 perl modules。
- 把你想用 blosxom 表現出來的檔案,放到你在 blosxom.cgi 裡設定好的 $datadir。當然,這時候,你的各個檔案的檔首,應該已經加上 meta-creation_date 的 tag 了。如果你有些從別的目錄複製過來的舊文件,而且想保留日期,而且你在 unix-like 的環境下,cp 時請記得加上 -p 的參數。如果舊文件因為重新加上 meta-creation_date 的 tag 或者其他修改而改變了存檔時間,而且你很想要把存檔的時間改成原來或者任意的時間,而且你在 unix-like 的環境下,請使用 touch 這個指令,再加上 -t 的參數,就可以很愉快地改到你要的時間了。
- 接著,就是要讓建立起 entries_index_tagged 所需的 index。請下 perl /你的路徑/blosxom.cgi -password="你的密碼" 這個指令,就會自動在 $plugin_state_dir 建出 .entries_index_tagged.index,然後就會依照 meta-creation_date 的先後順序,乖乖排序出來。
結果非常快樂,終於成功了。而現在這篇,就是在 vim 裡寫的(是的,又從 emacs 跳回 vim 了,在 vim 裡用好看的字型寫文字,光是這一點,就比 emacs 更快樂)。然後,就是整理過去的舊檔案,加上 meta-tag,重新 touch 一下時間順序,在 blosxom 的 $datadir 底下分門別類建目錄,並且祈禱,不要再有需要跳船的事了! XD
這個故事再度給我自己一個教訓,RTFM 和 STFW 真的是我們的好朋友,有問題,至少得先過這兩位好朋友的關卡,再繼續發問。 :b
附記:寫完這篇後,再手動剪貼到 MT 裡,然後就抓到幾個錯字。這時候又發現,要修改 blosxom 的文件,我只需要在筆記型電腦裡打開 vim 修改文章,要 publish 的話,再 scp 上 server 把舊的檔覆蓋掉即可,不必像 MT 還得先開 browser 接著 login 接著再修改再等 MT 重新整理文章。而且而且,反正現成的陽春版 blosxom 並沒有附上 comments 和 trackback(據說躲同學譯為「搥背」!)的功能(如果要的話,當然是有 plugins 可以抓來用的),我覺得,這樣的陽春設計,反而可以減低 MT 的社交性,那就先試一陣子陽春版,看看自言自語是不是可以讓人更快樂囉。 XD