文字排印與標記語言

寫給文字工作者的 Markdown 介紹。

許多年前,我也曾想過將來要做一個文字工作者,結果現在從事了互聯網行業。這次單從互聯網從業人員的角度談文字排印。

提到「標記語言」,不免會讓不知情者以為高深,其實很簡單,正如某言「無技術含量」。然而真正要做好,亦非易事。糟糕的排版隨處可見,例如在一段文字中突兀出現很大幾個字,又或者一段黑色文字中夾雜幾句紅的綠的黃的句子,更可憎的是有些文字還一閃一閃亮晶晶,這樣的例子在互聯網上比比皆是,不忍卒讀。通俗來講,稱為暴發戶氣質。

好的排版(指單篇文章)是為了文章的易讀性,讓人看著愉悅看著舒服,實際經驗告訴我們,略微泛黃的奶油色底加黑色文字是讓人最愉悅的搭配。當然,除了顏色,還有字體、大小、字間距、行間距等諸多因素影響著排版的效果。

做為寫作者,我們應該關注的真的是文章的顯示效果麼?當我們說「把這段文字加粗」,我們的本意是想強調這段文字,加粗只是表象,強調並不意味著一定要加粗。相反,我們所需要的是理解文字段落的本質,忽略其表現效果,一個好的開頭就是改變我們的思維方式,回歸本原,「這段文字需要著重強調一下」

正如多年前的互聯網,當時(也許現在還存在)還沒有樣式分離的觀念,前端開發者迷失在樣式的表象上,忽視了事物的本質。於是,各種 <font> 之類的 HTML 標記大行其道。但是現在的情況好很多了,比如我們會用 <strong> 而不是 <b> 來「加粗」文字,這樣的改變體現的正是觀念的轉變,<b> 意味著 bold,是表象上的加粗,<strong> 體現的是著重強調,是本質上的加粗。這是一小步改變,也是一大步改變。

也許你並不了解什麼是 HTML,什麼是 <strong>,什麼是 <b>,這沒有關係,你正在看的這個網頁其實就是一個 HTML。但是你不需要知道這些。因為有更簡單,更多適合寫作者的標記語言 —— Markdown。

已經有不少人談過 Markdown,例如:

普遍的誤解是,這些標記語言是程式師們的東西。但是正如其作者 [John Gruber][] 所說:

Markdown is a text-to-HTML conversion tool for web writers.

它從一開始就不是所謂 Geek 的東西,恰恰相反,它是為你這樣的文字工作者所設計的。它很簡單,它在 IT 界所以越發流行也正是因為其簡單易學,甚至有人稱其學習成本為零。

我們只需要簡單介紹一下基本的文法,聰明者如你應該不需要五分鐘就可學會。

現在你已經了解了所有你需要知道的了,這難道能叫做難學麼?忘記介紹段落了,你只需要保證段落之間有空行就可以了。

也許你還需要一個編輯器來輔助你,例如我現在正在用 Mou 來寫作這篇文章。對,你所看到的這篇文章正是用 Markdown 寫作的。也許你對自己的寫作不放心,需要實時預覽,借助這些工具也許能讓你更放心。其實真的不需要,例如當我寫作這篇文章時,我並不需要即時預覽,我知道我寫出來的效果一定就會是我想要的。

另外我正在編寫一個網頁版的 Markdown 編輯器,雖然還沒有完成,不過已經足以幫助你熟悉一下 Markdown 的文法了。我也為你準備了一份詳細的英文版文法說明。

也許你還會覺得這些文法不夠用,你還是想把你的文章弄得花花綠綠的,我想這篇文章不是為你而寫的。我也深深為你的審美捉急呀。

[John Gruber]: http://daringfireball.net/projects/markdown/