隨著時間飛逝, Six Apart 終於在 2003 年聖誕節前夕釋出了 2.65 版的 Movable Type ,這是一份安全性更新,修補了 XML-RPC 伺服器以及郵件轉發的潛在漏洞;這個版本同時還增加了對 Atom API 的支援,也為此增加了一些沒有列在文件中的標籤。
我緊鑼密鼓地也趕在 2003 年年底釋出了新的安裝套件,除了針對新版 Movable Type 進行翻修之外,也加強了預設模版,讓它更適合中文使用者的情境;同時,我也加入了一些好用的外掛模組,讓使用者能更輕鬆地建構完善的環境。當然事情遠比這還要複雜,隨著本書專屬站台日益完善,許多原本得到處搜刮的資源現在也都可以直接在 http://mtbook.net/ 取得了。有鑑於這些改變,本書的改版更新可以說是迫不及待,於是我決定補增一份附錄,把這些事情好好講清楚,順便把原來就沒有交代清楚的細節也交代一番。
在第一章裡,我們曾經為各位介紹過藝立協的安裝套件,現在這個套件的任何更新檔都可以在本書專屬站台下載頁面 http://mtbook.net/download.html 取得;同樣的本來提供給要把 Movable Type 裝在虛擬主機或非 Windows 系統上的使用者的檔案,現在也能在本書專屬站台下載頁面 http://mtbook.net/download.html 取得。妳祇需要如圖這樣在檔名或下載圖示上點選,就能夠下載或開啟檔案了。
讓我們來看看上頭有些甚麼值得妳注意的東西:
原則上上述這些檔案,也多半能在本書附贈的 CD 裡,找到還算穩定的堪用版本;因此當妳因故無法存取網路時,不妨就用這張 CD 救急吧!
許多使用 Windows 安裝檔的朋友一直不清楚到底這個安裝檔會裝進些甚麼、又該怎麼反安裝、反安裝完又會遺留下些甚麼東西。事實上誠如第一章所述,這個安裝檔除了會幫妳安裝 Movable Type 外,也會把 parl 及 Apache 裝起來;前者是執行 Movable Type 所需的 Perl 執行環境,後者則是網頁伺服器。如果妳需要把這兩個元件移除掉的話,到「控制台」的「新增/移除」是沒有辦法的。妳得執行他們各自目錄裡的反安裝程式纔行:
parl 的話,請執行 C:\Program Files\OurInternet\Common\parl\Uninstall.exeApache 的話,請執行 C:\Program Files\OurInternet\Common\httpd\Uninstall.exe另外,在安裝的時候安裝檔會試著保留下列這些東西(如果他們出現在安裝路徑裡的話)而不會覆蓋:
mt.cfgdb/. 資料庫因此妳可以放心地從「控制台」的「新增/移除」裡移除 Movable Type ,然後再從新版的安裝檔安裝,而毋須擔心任何的網誌組態、文章會遺失。事實上當妳移除 Movable Type 時,(幾乎)所有可能有所更動的檔案都會被保留下來,這包括了:
C:\Program Files\OurInternet\Movable Type\logs\httpd-access.logC:\Program Files\OurInternet\Movable Type\logs\httpd-error.logC:\Program Files\OurInternet\Movable Type\mt\mt.cfgC:\Program Files\OurInternet\Movable Type\mt\db\*C:\Program Files\OurInternet\Movable Type\mt\archives.htmlC:\Program Files\OurInternet\Movable Type\mt\atom.xmlC:\Program Files\OurInternet\Movable Type\mt\index.rdfC:\Program Files\OurInternet\Movable Type\mt\index.xmlC:\Program Files\OurInternet\Movable Type\mt\rsd.xmlC:\Program Files\OurInternet\Movable Type\mt\archives\*所以妳祇需要把整個目錄另存副本,就可以輕易地備份所有的網誌資料。
好消息是,現在 leeym 負責了 FreeBSD 上的中文 Movable Type ports ,所以要把中文化過的 Movable Type 安裝到 FreeBSD 上就變得萬分簡單。妳祇需要以 root 登入,然後這麼做就可以了:
cd /usr/ports/chinese/MT make clean install
如果妳有裝了 sudo ,而且妳自己的帳號亦屬於 sudoer 的話,也可以這麼做:
cd /usr/ports/chinese/MT sudo make clean install
我們曾經在第二章介紹過網誌組態裡的「顯示日期用的語言」選項,當時我們說官方的 Movable Type 並沒有中文日期格式可用,不過現在我們自己放進了分別由 mhsin 和 contagious 所提供的中文日期格式,茲整理如下:
| 變數 | 意義 | 顯示日期的語言及效果 | |||
|---|---|---|---|---|---|
| 中文 (zh) | 徹底中文 (zh_all) | 台灣, 中華民國 (tw) | |||
| 內建 | %a | 一週裡的哪一天,以縮寫表示 | 無法使用 | 無法使用 | 無法使用 |
| %A | 一週裡的哪一天,以全稱表示 | 星期二 | 星期二 | 星期二 | |
| %b | 月份名稱的縮寫 | 無法使用 | 無法使用 | 12 | |
| %B | 完整的月份名稱 | 十二月 | 十二月 | 12 | |
| %d | 該月的第幾天,以兩位數字表示;必要的時候在前面補 0 |
30 | 30 | 三十 | |
| %e | 該月的第幾天,必要的時候在前面補上空白 | 30 | 30 | 30 | |
| %H | 時,以 24 時制(軍隊時制)表示成兩位數字,必要的時候在前面補 0 |
03 | 03 | 三 | |
| %I | 時,以 12 時制表示成兩位數字,必要的時候在前面補 0 |
03 | 03 | 03 | |
| %j | 該年的第幾天,以三位數字表示,必要的時候在前面補 0 |
364 | 364 | 364 | |
| %k | 時,以 24 時制(軍隊時制)表示成兩位數字,必要的時候在前面補上空白 | 3 | 3 | 3 | |
| %l | 時,以 12 時制表示成兩位數字,必要的時候在前面補上空白 | 3 | 3 | 3 | |
| %m | 月份,以兩位數字表示,必要的時候在前面補 0 |
12 | 12 | 十二 | |
| %M | 分,以兩位數字表示,必要的時候在前面補 0 |
00 | 00 | 零 | |
| %p | AM 或 PM |
上午 | 上午 | 上午 | |
| %S | 秒,以兩位數字表示,必要的時候在前面補 0 |
01 | 01 | 一 | |
| %x | 按照語言決定的日期格式 | 2003年12月30日 星期二 | 民國九十二年十二月三十日 星期二 | 民國九十二年十二月三十日 | |
| %X | 按照語言決定的日期格式 | 上午03時00分 | 上午三時零分 | 上午三點零分 | |
| %y | 年份,以兩位數字表示,必要的時候在前面補 0 |
03 | 03 | 03 | |
| %Y | 年份,以四位數字表示 | 2003 | 2003 | 九十二 | |
| 額外 | %V | 小寫四位數西元年份簡讀 | 二零零四 | ||
| %v | 小寫二位數西元年份簡讀 | 零四 | |||
| %U | 大寫四位數西元年份簡讀 | 貳零零肆 | |||
| %u | 大寫二位數西元年份簡讀 | 零肆 | |||
| %C | 小寫民國年份全讀 | 九十三 | |||
| %c | 大寫民國年份全讀 | 玖拾參 | |||
| %T | 小寫西元年份全讀 | 二千零四 | |||
| %t | 大寫西元年份全讀 | 貳仟零肆 | |||
| %Q | 小寫月份全讀 | 一 | |||
| %q | 大寫月份全讀 | 壹 | |||
| %R | 該月的第幾天,小寫全讀 | 十五 | |||
| %r | 該月的第幾天,大寫全讀 | 拾伍 | |||
| %F | 時,以 24 時制表示成小寫全讀 | 十六 | |||
| %f | 時,以 12 時制表示成小寫全讀 | 四 | |||
| %G | 時,以 24 時制表示成小寫簡讀 | 一六 | |||
| %g | 時,以 12 時制表示成小寫簡讀 | 零四 | |||
| %N | 分,小寫全讀 | 三十二 | |||
| %n | 分,小寫簡讀 | 三二 | |||
| %O | 秒,小寫全讀 | 零 | |||
| %o | 秒,小寫簡讀 | 零零 | |||
mt.cfg 指令Movable Type 從 2.66 版起,又多了一個可以加在 mt.cfg 裡的指令(選項):
mt.cfg 裡加上這一列:ThrottleSeconds 10那麼來自同一個 IP 、且發表間隔小於 10 秒的迴響,都會被系統駁回。
Movable Type 屢次改版中,並不是所有的模版標籤都會被記載在文件裡。有些標籤可能祇在版本更新演進史裡提到過,或者是妳必須親自去探索新的預設模版纔會發現的。這些新標籤往往是為了滿足特定需求、或者讓事情更加合理及方便纔被做出來的,因此妳當然也應該把他們放進妳的模版裡,然後把原來為了相同目的而裝的外掛模組給扔開。以下就讓我們來看看這些模版標籤:
mt.cgi 相對於站台網址的路徑。舉例來說,如果妳的站台網址是「 http://blog.my-domain.org/ 」,而妳又在 mt.cfg 裡設定了「 CGIPath http://blog.my-domain.org/cgi-bin/ 」的話,那麼 <$MTCGIRelativeURL$> 的值就會是「 cgi-bin/ 」。tag 屬性,這個屬性的內容可以是任何 Movable Type 變數標籤的名稱(但是請不要加上角括號跟錢號);祇有當這個變數標籤的值不是空字串時, <MTIfNonEmpty> 容器標籤裡的內容纔會被採用。當然這個標籤也能與 <MTElse> 標籤混用:<ol><MTCategories><li> <MTIfNonEmpty tag="MTCategoryDescription"> 類別描述: <$MTCategoryDescription$> <MTElse> 類別名稱: <$MTCategoryLabel$> </MTElse> </MTIfNonEmpty> </li></MTCategories><ol>上列的範例會依序列出所有的類別;如果某個類別設定了類別描述的話,就會顯示出類別描述,否則就祇會顯示出類別名稱而已。
<$MTEntryDate$> 似乎沒有任何實質上的差別,但是我們可以推論下一個版本的 Movable Type 會在資料庫裡增設一個欄位,用來存放(無法變更的)文章日期。我們在下一節所要介紹的預設模版,正是用上了這些新增而又沒有被放進文件裡的模版標籤;所以一方面這些模版會有適用的版本限制,另一方面則是妳得先搞懂他們到底有些甚麼功用,纔能隨意修改。
我在本書專屬站台上也提供了中文化過的預設模版,這份模版除了把官方預設模版中文化外,又略加調整過,因此即便妳選用了中文日期格式、中文類別描述、類別圖示、或者啟用了允許匿名迴響的功能時,一切看起來仍舊相當正確,不會有不知所云的情況。
這份模版可以在 http://mtbook.net/default-templates.html 找到,妳可以輕易地選取、複製,然後貼回妳自己的網誌裡。

列出模版」畫面中,按下「索引模版」區段裡的「建立新的索引模版」鏈結(因為在這個升級的例子裡,我們沒有 Atom 索引模版。如果妳祇是要把弄爛的模版還原的話,也可以直接按下編輯該模版的鏈結)。現在就讓我們看看有哪些預設模版:
新的 Movable Type 的 Windows 安裝檔(以及 mt.diff )會把原本我們在第三章介紹過的超連結與文字變化按鈕給取消掉,改以功能更為強大的 htmlArea 代替之;這是一個所見即所得 (WYSIWYG, What You See Is What You Get) 的 HTML 編輯介面,有各式各樣的按鈕,幫助妳做出字型變化,或插入圖片、鏈結、表格等。
當妳進入編輯文章畫面時, htmlArea 並不會自動啟用;對於進階使用者或者是不需要繁複變化的使用者來說,這確實是有效率且安全的作法。如果妳真的有需要進入這個所見即所得的編輯模式時,請如圖用滑鼠按一下
圖案,接著文章編輯區馬上就會進入「所見即所得」模式。
在這個模式中,妳可以使用下列不同的功能:
粗體
斜體
加底線
刪除線
下標
上標
複製
剪下
貼上
還原
重做
齊左
居中
齊右
全齊
插入排序清單
插入未排序清單
凸排
縮排
前景色
背景色
插入水平線
插入鏈結
插入圖片
插入表格
模式切換純文字模式」,再按一次就又會切換回「所見即所得模式」。
大螢幕編輯模式
按鈕回到原來的編輯區。
表格內容
整列內容
在前面插入列
在後面插入列
刪除列
分割列
在前面插入欄
在後面插入欄
刪除欄
分割欄請注意,由於尚未被清掉的程式瑕疵,當妳完成編輯後請務必再次按下
按鈕,切換到純文字模式後再儲存文章,否則妳辛苦輸入的內容將可能會付之一炬!
「重建檔案」是另一個先前沒有特別提到的功能,然而有許多使用者不斷在詢問著「重建檔案是甚麼意思?」「我甚麼時候需要重建檔案?」因此我覺得有必要在這裡花一點篇幅來說一說。
Movable Type 使用了一份資料庫來儲存各種妳所輸入的東西,包括像是網誌組態、模版、文章、迴響、引用通告等。這些訊息都是先存放到 Movable Type 所使用的資料庫裡,等到有需要的時候纔會從資料庫中被倒出來,而成為靜態檔案的一部份。這個「把資料從資料庫中倒出來,製作成靜態檔案」的過程,就是所謂的「重建檔案」。
這麼做有甚麼好處呢?最大的好處是可以有極大的彈性,相同的資訊內容可以很方便的出現在許多地方、或者是藏匿起來不予呈現。另一個相當重要的好處在於效率;隨著日積月累,網誌裡的資訊會越來越多,如果每次一有新的東西被加入,系統就要把所有的檔案都整理一遍的話,將會花去難以計算的時間跟系統資源。然而如果我們先把資料扔進資料庫的話,就祇需要在重建檔案時,挑選有相關的資訊片段一併重建就行了。這麼一來,祇需要花費極少的資源,就能維持站台的更新。
其實還有另一個好處就是安全。因為妳的資料是存放在資料庫裡,而不是袒胸露肚地攤在網頁目錄中,所以就算有人突破了妳的防火牆、毀掉了妳的網頁靜態檔案,妳依舊能夠輕易地全部還原,而不會受到影響。
那麼甚麼情況下會需要重建檔案呢?一般說來,在妳做了下列這些事情後,就得重建檔案:
CGIPath 、 ExcerptWords 、 NoCDATA 、 PublishCharset 等,都有可能影響到妳的靜態檔案實際內容。上述這些變更完成時,都祇會更新妳的資料庫,卻不會立即反映到網頁目錄裡的靜態檔案,所以妳得自己重建檔案纔行。至於實際重建檔案的技巧,則請參考稍後的段落。
妳或許會注意到,當妳新增一篇文章時,系統就會自動地幫妳套用所有相關的模版來重建可能會受到影響的靜態頁面。事實上,祇要妳在文章編輯畫面按下儲存按鈕,系統就會這樣子來自動重建部分的檔案。
這個設計相當地巧妙,也相當地有效。對於常常寫新東西的使用者來說,他們毋須把時間花在按下「重建」按鈕上,就能夠在頁面上不斷新增文章;對於常常回頭修改文章的使用者來說也是如此。無論妳正在新增或修改文章,祇要一按下「儲存」按鈕,系統就會幫妳把剩下來的事情做完。另一方面,當有訪客留下迴響或發出引用通告後,系統也會針對特定的文章如此重建;要不然妳的站台頁面可不會更新呢!
不僅如此,善用這個機制,我們甚至可以把維護站台所需的重建時間大幅縮短。且看接下來的這個段落。
在這個段落裡,我們將條列許多重建檔案的原則;越後面的原則越能幫妳節省時間和系統資源,所以請仔細讀下去吧:
迴響清單模版、迴響預覽模版、迴響出錯模版、以及引用清單模版都是當讀者點擊了特定鏈結後,纔會用於生成動態頁面的,所以妳根本不需要手動加以重建。而彈出已上傳圖片模版套用的時機則祇有發生在上傳了圖片的時候,所以這個模版所建立出來的靜態檔案也不是重建檔案系統所能干涉的,就算妳重建所有檔案也沒有用。隨著網誌日益流行,漸漸地有不肖之徒開始到別人的網誌上留下迴響或引用通告;他們所留下的文字多半言不及義、或與原來的文章沒有絲毫瓜葛,他們的目的在於留下生效的超鏈結,試圖拉高自己站台的 Google 評比 (Google Rank) ,順便看會不會有人誤闖賊門。
這種東西我們稱做「迴響垃圾 (Comment Spam)」,已成為繼垃圾信 (Spam) 後的嚴重問題。原本的 Movable Type 祇能讓妳透過禁用 IP 的方式,以抵禦來自特定位置的攻擊。但是這個方法畢竟過於被動,而且這些混蛋總是有辦法換用不同的 IP ;因此 Jay Allen 發展了一套 MT-Blacklist 外掛模組,透過黑名單比對迴響內容,主動封殺可疑的迴響垃圾。
現在這個外掛模組也成為 Movable Type 的 Windows 安裝檔內的預設模組了。妳祇需要如圖在網誌主選單裡點擊「設定黑名單」的鏈結,就可以予以啟用或組態。
雖然現在會預設就幫妳把 MT-Blacklist 裝好,但是基於相容性考量,一開始時是不會啟用的,妳得自己啟用纔行。別擔心,這並不難;請先如圖按下「 Configure 」按鈕,在第一個選項選擇「 Yes 」,然後把畫面捲到最下方,把「 Automatic Blacklist Publishing 」的輸出檔名改成「 ./blacklist.txt 」(否則在 Windows 上會出問題),最後按下「 Save Configuration 」即可。

當然這裡還有許多細節可以調校,但是我在此不打算贅述(不然就會變成另一章了),請有興趣的朋友自己啃線上說明吧!
除了預設把 MT-Blacklist 裝好之外,這裡還預先附上了一份黑名單,讓妳能夠立即生效。但是妳還是應該隨時注意有沒有更新的黑名單,纔能時時抵禦最新的垃圾。
妳可以訂閱 MT-Blacklist 交換所 RSS Feed (http://www.jayallen.org/comment_spam/feeds/blacklist-changes.rdf 或 http://www.jayallen.org/comment_spam/feeds/blacklist-changes.xml) 來監視任何的黑名單更新;最新的黑名單則會發佈在 http://www.jayallen.org/comment_spam/blacklist.txt ,妳祇需要如圖把整個檔案的內容複製起來,然後貼進「 Add 」畫面中的「 Import blacklist 」欄位中,最後按下「 Import entries 」按鈕即可。
再次強調,這個外掛模組的功能遠比我們在此所介紹的更為強大,不過礙於篇幅,我們就不多加描述了,請有興趣的朋友自行研究、閱讀線上文件。



版權所有 © 2003, 2004 Jedi. 保留部分權利。