google code-beautifer

星期四, 1月 03, 2008

Blog 寫作結構格式: 以Blosxom 為例

雖然我嫌自行維護Blosxom server麻煩,現在移到blogger 跟其他的部落格服務
上,但這基本的導讀對於瞭解Blog 寫作結構格式,還是很重要的。

一般的Blog呈現結構:


story.flavour是供每個網頁裡每一篇文章(可能不只一篇)使用的模板,例如

  • story.html
  • story.traceback
  • story.writeback 或sotry.comments
  • story.flavourXXX,...


head.flavour是供每個網頁開頭使用的模板,例如

  • head.html
  • head.traceback
  • head.writeback 或 head.comments
  • head.flavourXXX,...


foot.flavour是供每個網頁結尾使用的模板,例如

  • foot.html
  • foot.traceback
  • foot.writeback 或 foot.comments
  • foot.flavourXXX,...


一般在文章列表時,不顯示留言也不顯示表單,

  • 一開頭使用 head.html 模板 (想要有獨立於文章的sidebar,也可寫進到 head.html 裡)
  • 所有文章循序一一使用 story.html 模板
  • 最後結尾套用 foot.html 模板


然後在顯示單篇文章時,則

  • 一開頭使用 head.html 模板
  • 個別文章使用 story.html 模板
  • 最後結尾套用 foot.html 模板


若是按traceback, comments, edit 等更動個別文章的按鍵,則

  • 一開頭使用 (甚至忽略不用)writeback.foot 或comments.foot等其中之一模板顯示開頭
  • 單篇文章使用 story.html 模板
  • 所有舊留言循序一一使用sotry.writeback或story.comments等其中之一模板 顯示所有留言
  • 最後也套用writeback.foot 或comments.foot等其中之一模板 顯示編輯更動表單。


Blosxom的文章都是純文字檔,第一行為文章標題。所謂的meta資料,就是指從第二行開始往下一直到第一個空白行之間的資料。太長的文章可以用
<!-- more -->
隔開,在瀏覽模式中後半段文章不會顯示。blosxom顯示的HTML結果會用一個"閱讀全文 ..."的連結指到全文模式去顯示全部內容

純文字檔文章經blosxom轉html的一些問題



HTML中pre標籤不能解決一切問題


光是用HTML中<pre>標籤把整個文章標記成按純文字的編排輸出,有時還是不足以解決問題的。

假如文章中有用<>夾起的標籤,即使這標籤不是屬於HTML語法內的標籤,這整個標籤還是會被整個忽視掉,如純文字內容裡的
<shelandy>標籤括起的內容</shelandy>,
即使用<pre>標籤括起來成為


<pre><shelandy>標籤括起的內容</shelandy></pre>

在blosxom下顯示的結果不會是預期的

<shelandy>標籤括起的內容</shelandy>

而會只剩下

標籤括起的內容

而且用<pre>標籤閱覽器不會自動換行,行中字數太多的話會一直往右延伸下去不利閱讀。

特殊字元衝突的解決


要在文章裡寫到字元$36;時會因為他們屬於html特殊字元造成問題
簡單的方式是用html特殊字元逃脫控制碼的語法解決,見The HTML Coded Character Set


夾用HTML標籤的考量


一些重要變數
$url: Blog 根目錄的URL
$path: 這篇文章在 Blog 檔案分類的儲存路徑
因為<a href=""> 所指到的目前路徑在不同的 view 下會有不同的效果,所以引用Blog內某文章最好的方式是用(相對於此Blosxom Blog)絕對路徑:
$url$path/某文章檔名

延伸閱讀


成為 Web2.0 時代的公民

沒有留言: