Movable Type 完全手冊:附錄四 ─ 補增資訊

« 目錄


補增資訊

隨著時間飛逝, 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 取得。妳祇需要如圖這樣在檔名或下載圖示上點選,就能夠下載或開啟檔案了。

在 MTBook.net 首頁點選右方導覽列的「檔案下載」鏈結
圖一:請先連到本書專屬網頁 http://mtbook.net 的首頁,然後按下右方導覽列的「檔案下載」鏈結。
MTBook.net 的檔案下載頁面
圖二:在檔案下載頁面中,可以點選檔案名稱或右方的圖示以下載檔案;妳也可以先閱讀每個檔案的說明、以及比對 MD5 加總檢查核對碼。

讓我們來看看上頭有些甚麼值得妳注意的東西:

原則上上述這些檔案,也多半能在本書附贈的 CD 裡,找到還算穩定的堪用版本;因此當妳因故無法存取網路時,不妨就用這張 CD 救急吧!

安裝與反安裝

許多使用 Windows 安裝檔的朋友一直不清楚到底這個安裝檔會裝進些甚麼、又該怎麼反安裝、反安裝完又會遺留下些甚麼東西。事實上誠如第一章所述,這個安裝檔除了會幫妳安裝 Movable Type 外,也會把 parlApache 裝起來;前者是執行 Movable Type 所需的 Perl 執行環境,後者則是網頁伺服器。如果妳需要把這兩個元件移除掉的話,到「控制台」的「新增/移除」是沒有辦法的。妳得執行他們各自目錄裡的反安裝程式纔行:

另外,在安裝的時候安裝檔會試著保留下列這些東西(如果他們出現在安裝路徑裡的話)而不會覆蓋:

因此妳可以放心地從「控制台」的「新增/移除」裡移除 Movable Type ,然後再從新版的安裝檔安裝,而毋須擔心任何的網誌組態、文章會遺失。事實上當妳移除 Movable Type 時,(幾乎)所有可能有所更動的檔案都會被保留下來,這包括了:

所以妳祇需要把整個目錄另存副本,就可以輕易地備份所有的網誌資料。

從「新增或移除程式」裡移除 Movable Type
圖三:單純祇從「新增或移除程式」裡移除 Movable Type 的話,並不會真的把所有的元件都清乾淨。

FreeBSD 上的快速安裝

好消息是,現在 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 並沒有中文日期格式可用,不過現在我們自己放進了分別由 mhsincontagious 所提供的中文日期格式,茲整理如下:

中文的日期格式、變數、與效果範例
變數 意義 顯示日期的語言及效果
中文 (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 AMPM 上午 上午 上午
%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 裡的指令(選項):

不在文件裡的模版標籤

Movable Type 屢次改版中,並不是所有的模版標籤都會被記載在文件裡。有些標籤可能祇在版本更新演進史裡提到過,或者是妳必須親自去探索新的預設模版纔會發現的。這些新標籤往往是為了滿足特定需求、或者讓事情更加合理及方便纔被做出來的,因此妳當然也應該把他們放進妳的模版裡,然後把原來為了相同目的而裝的外掛模組給扔開。以下就讓我們來看看這些模版標籤:

我們在下一節所要介紹的預設模版,正是用上了這些新增而又沒有被放進文件裡的模版標籤;所以一方面這些模版會有適用的版本限制,另一方面則是妳得先搞懂他們到底有些甚麼功用,纔能隨意修改。

中文化過的預設模版

我在本書專屬站台上也提供了中文化過的預設模版,這份模版除了把官方預設模版中文化外,又略加調整過,因此即便妳選用了中文日期格式、中文類別描述、類別圖示、或者啟用了允許匿名迴響的功能時,一切看起來仍舊相當正確,不會有不知所云的情況。

這份模版可以在 http://mtbook.net/default-templates.html 找到,妳可以輕易地選取、複製,然後貼回妳自己的網誌裡。

在 MTBook.net 首頁點選右方導覽列的「預設模版」鏈結
圖四:請先連到本書專屬網頁 http://mtbook.net 的首頁,然後按下右方導覽列的「預設模版」鏈結。
點選「 Atom 索引」的鏈結
圖五:妳可以從頁面上方的清單裡快速選取要察看的預設模版;在這個例子裡我們選的是 Movable Type 2.65 新增的 Atom 索引模版。
從滑鼠右鍵選單裡「全選」整個模版內容
圖六:妳可以看到每個模版實際所屬的模版類別,也可以看到這個模版應該要有的輸出檔名。接下來妳該做的事情是在模版內容區塊裡按下滑鼠右鍵,選擇「全選」。
從滑鼠右鍵選單裡「複製」整個模版內容
圖七:全選了之後,請再次按下滑鼠右鍵,然後選「複製」,把整個模版的內容複製到剪貼簿裡。
在「列出模版」畫面中,按下「索引模版」區段的「建立新的索引模版」鏈結
圖八:接下來請回到妳自己的網誌管理後台,在「列出模版」畫面中,按下「索引模版」區段裡的「建立新的索引模版」鏈結(因為在這個升級的例子裡,我們沒有 Atom 索引模版。如果妳祇是要把弄爛的模版還原的話,也可以直接按下編輯該模版的鏈結)。
從滑鼠右鍵選單裡把剛剛複製起來的模版內容「貼上」
圖九:(如果妳是要還原某個模版的話,別忘了要先「全選」)從滑鼠右鍵選單裡選擇貼上,把剛剛我們複製到剪貼簿裡的模版內容給貼進去;同時「模版名稱」和「輸出檔案」也別忘了按照剛剛頁面上的資訊填妥。
按下「儲存」按鈕
圖十:最後按下「儲存」按鈕,就大功告成了(當然妳也有可能會想要重建這個模版,不過這是後面小節的內容了)。

現在就讓我們看看有哪些預設模版:

所見即所得的文章編輯功能

新的 Movable Type 的 Windows 安裝檔(以及 mt.diff )會把原本我們在第三章介紹過的超連結與文字變化按鈕給取消掉,改以功能更為強大的 htmlArea 代替之;這是一個所見即所得 (WYSIWYG, What You See Is What You Get) 的 HTML 編輯介面,有各式各樣的按鈕,幫助妳做出字型變化,或插入圖片、鏈結、表格等。

當妳進入編輯文章畫面時, htmlArea 並不會自動啟用;對於進階使用者或者是不需要繁複變化的使用者來說,這確實是有效率且安全的作法。如果妳真的有需要進入這個所見即所得的編輯模式時,請如圖用滑鼠按一下圖案,接著文章編輯區馬上就會進入「所見即所得」模式。

正常的文章編輯畫面
圖十一:這是正常的文章編輯畫面,妳可以看到編輯視窗裡都是 HTML 源碼。現在請用滑鼠按一下圖案以進入「所見即所得」模式。
進入了「所見即所得」模式後的文章編輯畫面
圖十二:進入了所見即所得模式後,妳就再也看不到 HTML 源碼了;反之妳能看到的是這些 HTML 源碼所會產生的效果,同時也出現了大量不同功能的按鈕,幫助妳編輯 HTML 文件。

在這個模式中,妳可以使用下列不同的功能:

注意事項

請注意,由於尚未被清掉的程式瑕疵,當妳完成編輯後請務必再次按下 按鈕,切換到純文字模式後再儲存文章,否則妳辛苦輸入的內容將可能會付之一炬!

重建靜態檔案

「重建檔案」是另一個先前沒有特別提到的功能,然而有許多使用者不斷在詢問著「重建檔案是甚麼意思?」「我甚麼時候需要重建檔案?」因此我覺得有必要在這裡花一點篇幅來說一說。

重建檔案的原因

Movable Type 使用了一份資料庫來儲存各種妳所輸入的東西,包括像是網誌組態、模版、文章、迴響、引用通告等。這些訊息都是先存放到 Movable Type 所使用的資料庫裡,等到有需要的時候纔會從資料庫中被倒出來,而成為靜態檔案的一部份。這個「把資料從資料庫中倒出來,製作成靜態檔案」的過程,就是所謂的「重建檔案」

這麼做有甚麼好處呢?最大的好處是可以有極大的彈性,相同的資訊內容可以很方便的出現在許多地方、或者是藏匿起來不予呈現。另一個相當重要的好處在於效率;隨著日積月累,網誌裡的資訊會越來越多,如果每次一有新的東西被加入,系統就要把所有的檔案都整理一遍的話,將會花去難以計算的時間跟系統資源。然而如果我們先把資料扔進資料庫的話,就祇需要在重建檔案時,挑選有相關的資訊片段一併重建就行了。這麼一來,祇需要花費極少的資源,就能維持站台的更新。

其實還有另一個好處就是安全。因為妳的資料是存放在資料庫裡,而不是袒胸露肚地攤在網頁目錄中,所以就算有人突破了妳的防火牆、毀掉了妳的網頁靜態檔案,妳依舊能夠輕易地全部還原,而不會受到影響。

重建檔案的時機

那麼甚麼情況下會需要重建檔案呢?一般說來,在妳做了下列這些事情後,就得重建檔案:

上述這些變更完成時,都祇會更新妳的資料庫,卻不會立即反映到網頁目錄裡的靜態檔案,所以妳得自己重建檔案纔行。至於實際重建檔案的技巧,則請參考稍後的段落

自動重建檔案

妳或許會注意到,當妳新增一篇文章時,系統就會自動地幫妳套用所有相關的模版來重建可能會受到影響的靜態頁面。事實上,祇要妳在文章編輯畫面按下儲存按鈕,系統就會這樣子來自動重建部分的檔案。

這個設計相當地巧妙,也相當地有效。對於常常寫新東西的使用者來說,他們毋須把時間花在按下「重建」按鈕上,就能夠在頁面上不斷新增文章;對於常常回頭修改文章的使用者來說也是如此。無論妳正在新增或修改文章,祇要一按下「儲存」按鈕,系統就會幫妳把剩下來的事情做完。另一方面,當有訪客留下迴響或發出引用通告後,系統也會針對特定的文章如此重建;要不然妳的站台頁面可不會更新呢!

不僅如此,善用這個機制,我們甚至可以把維護站台所需的重建時間大幅縮短。且看接下來的這個段落

有效率地重建檔案

在這個段落裡,我們將條列許多重建檔案的原則;越後面的原則越能幫妳節省時間和系統資源,所以請仔細讀下去吧:

  1. 祇有當妳做了會影響所有頁面的變更時,纔重建所有的檔案
    因為重建所有的檔案將會花去最多時間及資源,所以除非妳所做的變更會影響到所有的頁面,例如修改了 CGI 腳本的路徑、或變更了網誌名稱,否則不要輕易重建所有的檔案。
  2. 當妳修改了某個彙整模版後,就祇需要重建該彙整方式的檔案即可
    在重建檔案的對話窗裡,有個下拉式選單可以選擇祇重建分類彙整、按時彙整、或單篇彙整的檔案。如果妳祇修改了某一個彙整模版,那麼其他的靜態檔案是不會被波及的,因此妳祇需要重建該彙整方式的檔案即可。
    這裡有個例外,就是若妳修改了彙整檔案的檔案名稱模版的話,或許就得重建所有的檔案了。
  3. 修改了任何索引模版後,可以祇以該模版來重建索引檔案
    當妳編輯任何索引模版時,也許會注意到在「儲存」按鈕旁邊還有個「重建」按鈕。這個按鈕比左方工具列上的「重建」還要威力強大,因為它能夠祇以妳所編輯的這個模版來重建特定的某一個索引檔案,毋須一口氣重建全部的索引檔案。別忘了,妳得先儲存了更新過的模版,纔能按這個「重建」按鈕喔!
  4. 修改了任何文章後,祇需要把文章再儲存一遍即可
    沒錯,祇需要按下「儲存」按鈕,跟這一篇文章相關的單篇彙整頁面、按時彙整頁面、分類彙整頁面、乃至於索引頁面,都將會被更新。
  5. 修改、刪除了任何迴響或引用通告後,也祇需要把文章再儲存一遍即可
    妳應該會發現,當妳儲存了對任何迴響或引用通告的變更後,就會跳回相關聯的文章編輯畫面。同樣地,妳也祇需要按下「儲存」按鈕,那麼跟這一篇文章相關的單篇彙整頁面、按時彙整頁面、分類彙整頁面、乃至於索引頁面,也都將會被更新。
  6. 修改了任何「其他模版」後,完全毋須重建任何檔案
    舉凡迴響清單模版迴響預覽模版迴響出錯模版、以及引用清單模版都是當讀者點擊了特定鏈結後,纔會用於生成動態頁面的,所以妳根本不需要手動加以重建。而彈出已上傳圖片模版套用的時機則祇有發生在上傳了圖片的時候,所以這個模版所建立出來的靜態檔案也不是重建檔案系統所能干涉的,就算妳重建所有檔案也沒有用。

管理黑名單

隨著網誌日益流行,漸漸地有不肖之徒開始到別人的網誌上留下迴響或引用通告;他們所留下的文字多半言不及義、或與原來的文章沒有絲毫瓜葛,他們的目的在於留下生效的超鏈結,試圖拉高自己站台的 Google 評比 (Google Rank) ,順便看會不會有人誤闖賊門。

這種東西我們稱做「迴響垃圾 (Comment Spam)」,已成為繼垃圾信 (Spam) 後的嚴重問題。原本的 Movable Type 祇能讓妳透過禁用 IP 的方式,以抵禦來自特定位置的攻擊。但是這個方法畢竟過於被動,而且這些混蛋總是有辦法換用不同的 IP ;因此 Jay Allen 發展了一套 MT-Blacklist 外掛模組,透過黑名單比對迴響內容,主動封殺可疑的迴響垃圾。

現在這個外掛模組也成為 Movable Type 的 Windows 安裝檔內的預設模組了。妳祇需要如圖在網誌主選單裡點擊「設定黑名單」的鏈結,就可以予以啟用或組態。

在網誌主選單裡點擊「設定黑名單」鏈結
圖十三:在網誌主選單裡點擊「設定黑名單」的鏈結。
MT-Blacklist 的預設畫面
圖十四: MT-Blacklist 的預設畫面,妳可以看到目前已在黑名單中的字串跟正規表示式。

啟用黑名單

雖然現在會預設就幫妳把 MT-Blacklist 裝好,但是基於相容性考量,一開始時是不會啟用的,妳得自己啟用纔行。別擔心,這並不難;請先如圖按下「 Configure 」按鈕,在第一個選項選擇「 Yes 」,然後把畫面捲到最下方,把「 Automatic Blacklist Publishing 」的輸出檔名改成「 ./blacklist.txt 」(否則在 Windows 上會出問題),最後按下「 Save Configuration 」即可。

按下「 Configure 」按鈕
圖十五:一開始 MT-Blacklist 尚未啟用,請按下選單裡的「 Configure 」按鈕。
在第一個選項選擇「 Yes 」
圖十六:在 MT-Blacklist 的主開關選擇「 Yes 」來啟用。
把「 Automatic Blacklist Publishing 」的輸出檔名改成「 ./blacklist.txt 」,然後按下「 Save Configuration 」
圖十七:先把螢幕捲到最底下,接著把「 Automatic Blacklist Publishing 」的輸出檔名改成「 ./blacklist.txt 」,最後按下「 Save Configuration 」來儲存 MT-Blacklist 組態設定。
MT-Blacklist 已啟用
圖十八:現在 MT-Blacklist 已經啟用了。

當然這裡還有許多細節可以調校,但是我在此不打算贅述(不然就會變成另一章了),請有興趣的朋友自己啃線上說明吧!

更新黑名單

除了預設把 MT-Blacklist 裝好之外,這裡還預先附上了一份黑名單,讓妳能夠立即生效。但是妳還是應該隨時注意有沒有更新的黑名單,纔能時時抵禦最新的垃圾。

妳可以訂閱 MT-Blacklist 交換所 RSS Feed (http://www.jayallen.org/comment_spam/feeds/blacklist-changes.rdfhttp://www.jayallen.org/comment_spam/feeds/blacklist-changes.xml) 來監視任何的黑名單更新;最新的黑名單則會發佈在 http://www.jayallen.org/comment_spam/blacklist.txt ,妳祇需要如圖把整個檔案的內容複製起來,然後貼進「 Add 」畫面中的「 Import blacklist 」欄位中,最後按下「 Import entries 」按鈕即可。

按下 MT-Blacklist 選單裡的「 Add 」按鈕
圖十九:在 MT-Blacklist 畫面中,按下選單上的「 Add 」按鈕,準備匯入最新的黑名單。
點擊「 updated list 」鏈結
圖二十:要取得最新的黑名單的話,祇需要從這個畫面裡點擊「 updated list 」即可。
「全選」黑名單
圖二十一:當瀏覽器開啟了最新的黑名單後,請從編輯選單(或用任何方法)把內容給全選起來。
從滑鼠右鍵「複製」黑名單內容
圖二十二:全選了黑名單後,請按下滑鼠右鍵然後選「複製」,把所有的內容給複製起來。
以滑鼠右鍵「貼上」到匯入欄位裡
圖二十三:回到 MT-Blacklist 的「 Add 」頁面,在「 Import blacklist 」欄位裡按滑鼠右鍵,選「貼上」來把剛剛複製的黑名單貼進去。
按下「 Import entries 」按鈕
圖二十四:最後別忘了按下「 Import entries 」按鈕,就可以更新妳的黑名單了。

再次強調,這個外掛模組的功能遠比我們在此所介紹的更為強大,不過礙於篇幅,我們就不多加描述了,請有興趣的朋友自行研究、閱讀線上文件。


保留部分權利AttributionShare Alike