天天看點

開始使用 Markdown

原文位址:http://ued.taobao.org/blog/2012/07/getting-started-with-markdown/

本文面向不了解 markdown 或剛準備上手的同學。

很長,讓人沒有耐心讀下去。那麼,簡單來說,markdown 其實是一種輕量級的标記語言;

或者說,它規定了一些文本的書寫格式,就像這樣:

上面這一段東西就是 markdown 了——它看上去和普通的文本沒什麼兩樣,隻不過文字“被一些

标記 格式化”了,是以看上去會感覺比較漂亮,書面化一點形容叫做 具備更高的可讀性

這一段 markdown 給我們的直覺感受是我們能夠清楚地識别出其中的“标題”、“段落”以及“清單”,

對,就和我們熟知的 html 一樣,用來格式化内容

接下來的問題自然是,我們為什麼要使用 markdown?

我們可以把這個問題進一步拆分為三個問題:

使用 markdown 而不是 html 的好處在哪

在哪些場景下使用?

這個東西的普及度如何?(這意味着它的前途)

接下來一一回答:

前文已說,markdown 和 html 都是一路的标記語言,用來格式化内容。而内容之是以要顯得很

格式化,是因為這樣我們更容易閱讀和了解。被渲染後的 html 是很可讀的,但是 html 代碼讀起來

就很糟糕,因為它夾雜着大量 <code>&lt;tag&gt;</code>;而 markdown 不管是寫還是讀,都很舒服

有一點需要注意的是,markdown 并不是為了取代 Html,因為根本取代不了。Markdown 的理念是,

能讓文檔更容易讀、寫和随意改。HTML 是一種釋出的格式,Markdown 是一種書寫的格式

我個人認為,我們在 txt 上寫的文檔或随手記之類的東西,就完全可以使用 markdown,簡單且美觀

另外,最重要的一點,我們可以在 支援把 markdown 編譯為 html 的地方書寫 markdown,好處是

顯而易見的:書寫簡單、展現美觀。典型的場景有:github 倉庫的 README 描述檔案、github 中的

issue、評論框等。總而言之,把它用在要寫文檔的地方,妥妥的

我們知道,這世界上還有很多類似于 markdown 的輕量級标記語言,比如形形色色的 wiki 文法。是以,

我們憑什麼使用 markdown 而不是 markup 或者 wikidown?

答案很簡單,因為它很流行。至少著名的程式員社群如 github 和 stackoverflow

都提供了對它的大量支援

說了那麼多,結論就是,學習并且使用 markdown,必須的!何況 markdown 學起來非常簡單

作者對文法的介紹富有條理且細緻入微。

文法介紹之後會着重說一下幾個比較給力的特性,這個部分是重點

部分文法如下:

使用一個或多個空行分隔内容段來生成段落 <code>&lt;p&gt;</code>。

标題(h1~h6)格式為使用相應個數的“#”作字首,比如以下代碼表示 h3:

使用“&gt;”作為段落字首來辨別引用文字段落。這其實是 email 中标記引用文字的标準方式:

使用“*”“+”“-”來表示無序清單;使用數字加“.”表示有序清單。如:

使用 4 個以上 空格或 1 個以上 的 tab 來标記代碼段落,它們将被

<code>&lt;pre&gt;</code> 和 <code>&lt;code&gt;</code> 包裹,這意味着代碼段内的字型會是 monospace

家族的,并且特殊符号不會被轉義。

使用 <code>[test](http://example.net "optional title")</code> 來标記普通連結。

使用 <code>![img](http://example.net/img.png "optional title")</code> 來标記圖檔。

引号内的 title 文字是可選的,連結也可以使用相對路徑。

使用 * 或 _ 包裹文本産生 strong 效果:

普通換行并不産生新的段落或 <code>&lt;br&gt;</code>,但是産生空格。

其實這個和 html 對 line-break 換行 的處理方式是一緻的。為了使文本良好地展示在視野内,

我們會選擇 手動地 将文字折行,但是并不意味着這兩行在邏輯上不是一個段落。

我們也可以插入真正的手動換行符 <code>&lt;br&gt;</code>,如果要問 <code>&lt;br&gt;</code> 在什麼時候有用,下面是一個例子:

我  其實  是一首  詩…… 樓上  這一段  說得漂亮!

支援 setext-style 的 header 定義:

定義 h1:

定義 h2:

更低級别的 header 就無法使用這種方式定義了。我們不用管 setext-style 是什麼意思,隻需要知道

這種标記方式更能凸顯文章标題

在 blockquote(“&gt;”标記的段落) 之内可以嵌套使用其他标簽,甚至可以再嵌套

blockquote——

支援引用式的連結格式。什麼叫做“引用式”的連結呢,舉例來說,

對于本文中的一段文字,相應的 mkd 代碼是:

看上去就好像是“引用文獻”的格式一樣。好處非常易見:

正文文本中不會出現 url 連結這種讀者不關心的資訊,進而不影響讀者的閱讀

連結位址可以當做一個變量,進行複用

支援快捷連結。一般來說,我們如果要顯示一段 url 文本,最好也希望這個 url

如果使用 html,則要寫作

包含了備援資訊且可讀性很差,而在 mkd 中,隻要寫

就 OK 了,非常友善。

以上便是對 markdown 的一個簡要介紹了,需要了解進一步内容的,請移步

<a href="http://daringfireball.net/projects/markdown/">Markdown 項目首頁</a>

<a href="http://wordpress.org/extend/plugins/markdown-for-wordpress-and-bbpress/">WordPress 的 markdown 插件</a>

<a href="http://wowubuntu.com/markdown/">中文版文法說明</a>

<a href="http://johnmacfarlane.net/pandoc/">強大的文本編譯工具 Pandoc,支援 markdown 和 html 之間的互譯</a>

繼續閱讀