不知道大家有沒有留意這個論壇在回應下面有很多不用的格式:
除了純文字外, 其他的格式就是所謂的標記語言(Markup Language), 他們的作用是
將文本以及文本相關的其他信息結合起來,展現出關於文檔結構和數據處理細節的文字編碼。與文本相關的其他信息(包括例如文本的結構和表示信息等)與原來的文本結合在一起,但是使用標記(markup)進行標識。
或者簡單地說, 利用不同的標記來定義各種區塊, 像 HTML 中 <b>粗體</b>, 就是把 <b>...</b> 之間的文字定義為粗體表示.
如果每種文章都是很單調的只用純文字表示, 會非常無味外, 也會令人很不耐. 所以為了可以令文章較為豐富, 亦令閱讀較為方便. 初期為了這些緣固就會給使用者用 HTML 格式回文, 但這樣會出現很多問題.
把 HTML 給使用者使用的缺點
- 很容易引發安全性問題, 因為使用者可能會利用 HTML 指令來執行各種各類的 Script 及嵌入其他 HTML, 令網站及閱讀的人遇到不同程度的風險.
- HTML 對使用者的要求度比較高, 就算很簡單的變換文字區塊為粗體, 斜體, 增加連結等, 都必須打很多東西, 假如是一篇很長的文章, 會非常麻煩.
- HTML 的原始碼可閱度不高, 除了會令修改困難, 間接性 "強迫" 使用者必須用瀏覽器來閱讀.
其實還有缺點, 這邊就不詳述了.
後來根據第 1 點提出的缺點, 出現了幾種解決方法, 例如限制使用者能夠使用的 HTML 標記(像本站的 HTML 格式), 以及很常見的 BBCode.
而第 2 點, 則出現了所謂的 BBCode Bar, 可以給使用者快速的加入各種各樣的 BBCode. (但缺點就是必須讀入大量 Javascript, 而且很容易有 Bug)
但因為 BBCode 很大程度跟 HTML 差不多, 所以第 3 點一直解決不了.
輕量化標記語言 (Lightweight markup language)
A lightweight markup language is a markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form.
輕量化標記語言 (Lightweight markup language) 就是為了解決上面提到的 HTML 缺點而設, 其中 BBCode, Textile, Markdown 都是其中較為出名的. (點這看詳細的列表). 而 Textile 跟 Markdown 的語法, 我覺得是目前最容易使用, 效果也比較好的, 也是目前各種新型網站, Blog, 論壇最常用的文章輸入格式.
他們目前已經有不同程式語言的版本, 只要使用他們提供的語法, 就可以通過網站系統自動轉為 HTML 格式來表現出來.
Textile
Textile 在 2006 年是已經是第二版, 詳細的語法在這, 你也可以在那裏嘗試不同 Textile 語法所出現的效果.
我覺得 Textile 是一種很輕便的語法, 加上標點處理 (像 Dash (-- → —) 及 引號 ("" → “”) 都會自動轉換), 也可以輕易畫出 Table 等. 單以語法上來說, 比 Markdown 豐富.
但缺點就是 Textile 的設計對中日韓的文字不是很友善, 主要是因為中日韓的文字中用空格的時候不多, 但 Textile 增加連結, 引號轉換, 以及許多的語法, 都要區塊前後加上空格才能正確處理, 加上對 段落(Paragraph)及引用(Quote) 處理常會出錯. 如果對這些要求不高的話, 可以考慮使用它.
Markdown
Markdown 其實跟 Textile 的功能差不多, 但在語法處理上我覺得比 Textile 好, 加上它處理連結的方法很好用, 對段落及引用等文字區塊的處理亦較好. 但它也缺少了 Textile某些功能, 像 Tables, 標點處理 等, 不過 Markdown 允許 HTML 語法, 所以使用者如果需要可以直接用 HTML 來表示. (本論壇因為安全因素, Markdown 格式中不能使用任何 HTML 語法)
Markdown 首頁, 語法一覽(簡體翻譯), 詳細語法說明, 預覽效果.
另外 Showdown 這個網站也提供了即時預覽 Markdown 的效果.
如果要我比較 Markdown 跟 Textile, 我會覺得如果文章比較短, 連結比較少的話, 用 Textile 比較方便; 但如果是文章比較長, 連結比較多的話, Markdown 對連結及文章區域的功能則比較重要.
不過我目前較為喜歡 Markdown, 因為中文文章的話, 用 Textile 常常會造不出想要的效果.
Markdown Extra
Markdown Extra 顧名思義是 Markdown 的"加強版", 加了 Table, footnote 等等支援. 但目前只有 PHP 跟 Ruby 的版本.
另外 MultiMarkdown 也是另一種 Markdown 的加強版, 也具備了 Markdown Extra 的功能, 但目前較少人使用.
原文地址:http://forum.libracafe.com/comments.php?DiscussionID=107