一、什么是Markdown?通常可以這樣理解,對于網(wǎng)絡(luò)上寫作的人,Markdown 是 一種text-to-html (文本到 html)的轉(zhuǎn)換工具。它提供給你一種方便閱讀、方便書寫的純文本格式,然后把純文本轉(zhuǎn)換成符合語意并且結(jié)構(gòu)化良好的 HTML 或者 XHTML. 事實上,如同HTML/XML/SGML/TeX一樣,Markdown 同樣是一種 Markup Language(標記語言)。只不過,Markdown 是更輕量級的、對書寫和閱讀更友好的標記語言。也正是為了達成這樣的目標,John Gruber 和Aaron Swartz 才創(chuàng)造了 Markdown. 標記語言也好,工具也好,Markdown 只關(guān)注兩件事情,以真正實現(xiàn)易讀易寫的目標: - 格式化的純文本語法;
- John Gruber 用 Perl 開發(fā)的腳本工具將純文本轉(zhuǎn)換成格式化的 HTML.
這對于網(wǎng)絡(luò)寫作的人而言,他只需要專注在文字,而不必糾結(jié)文章的 HTML 標簽如何結(jié)構(gòu)化,怎樣讓文章展現(xiàn)的更好看,更可讀,同樣對于網(wǎng)站的設(shè)計者和開發(fā)者,他只需要關(guān)注網(wǎng)站基本元素的樣式實現(xiàn),比如 headers,links,而不必擔(dān)心整體的網(wǎng)站版式會被一個個作者自定義的樣式搞的不倫不類。
二、為什么推薦 Markdown?既然 Markdown 這么爽,那 UX 里面發(fā)布博客完全可以采用這種形式,雖然目前后臺編輯器中暫不直接支持 Markdown 語法,但支持源代碼,這就夠了。 利用各種 Markdown 編輯利器書寫 blog ; 將 Markdown 寫的 blog 導(dǎo)出為 HTML; 用編輯器打開 HTML 文件,拷貝其中 <body></body> 兩個標簽中的源代碼到后臺編輯器,打開源碼格式,粘貼進去即可。
三、Markdown 相關(guān)的工具任何一個經(jīng)常跟文章打交道的人,尤其是團隊/個人 blog, 項目文檔的組織,都應(yīng)該嘗試使用如下工具,當(dāng)然,跟 Markdown 搭邊的大都是免費資源; 編輯器類:在線工具類:插件類:其它- Marked for Mac - $3.99,提供給你 Markdown 的預(yù)覽功能,不管你用什么文本編輯器。
四、怎么上手 Markdown?謹記,如果在 Windows 平臺,不要使用 Word,而使用 Notepad++ 類似這樣的文本編輯器。Mac 系統(tǒng)下沒有內(nèi)置的文本編輯器,因此我上面推薦的 Mou for Mac 就派上用場了,你可以呼出 Mou help 打開語法提示窗口,同時在 Mou 中的左側(cè)窗口書寫 Markdown 文章,加以標記的點綴,右側(cè)的窗口能實時的看到展現(xiàn)的效果。如下圖: Markdown 基本語法Markdown 標題,段落,引用Markdown: 這是一級頁頭標題
=============
這是二級頁頭標題
-------------
所有從事網(wǎng)絡(luò)寫作的人都應(yīng)該盡快嘗試上手 Markdown,它不僅會提高你的工作效率,更會讓你專注于寫作本身,保證文章的質(zhì)量。這只是一個普通的段落.
這是另一個普通的段落.
> 這是一個段落引用.
>
> 這是引用中的第二段.
>
>
輸出的 HTML 結(jié)構(gòu): <h1>A First Level Header</h1>
<h2>A Second Level Header</h2>
<p>所有從事網(wǎng)絡(luò)寫作的人都應(yīng)該盡快嘗試上手 Markdown,它不僅會提高你的工作效率,更會讓你專注于寫作本身,保證文章的質(zhì)量。這只是一個普通的段落.</p>
<p>這是另一個普通的段落。</p>
<h3>這是三級頁頭標題</h3>
<blockquote>
<p>這是一個段落引用.</p>
<p>這是引用中的第二段.</p>
<h2>這是引用段落中的一個二級標題</h2>
</blockquote>
Markdown 加粗和強調(diào)Markdown: 一對星號一個段落中的*被強調(diào)的文字*.
某些文字被 _強調(diào)_.
雙星號實現(xiàn)**加粗**.
或者, 雙下劃線, 實現(xiàn)__同樣加粗的效果__.
輸出的 HTML 結(jié)構(gòu): <p>一對星號一個段落中的<em>被強調(diào)的文字</em>.
某些文字被 <em>強調(diào)</em>。</p>
<p>雙星號實現(xiàn)<strong>加粗</strong>.
或者, 雙下劃線, 實現(xiàn)<strong>同樣加粗的效果</strong>。</p>
Markdown 刪除線首尾各用兩個波浪線: ~~無效內(nèi)容~~
生成的 HTML 結(jié)構(gòu): Markdown 強制斷行正常,回車后形成的斷行,不會被 Markdown 解析為斷行,需要在斷行前面段落后加兩個空格: 這里是一個段落,斷行處1
回車換到了第二行,生成的 HTML 是不會斷行的。
同樣這個段落,斷行處2
在斷行處2后面增加兩個空格 就達到強制斷行的效果了。
~~無效內(nèi)容~~
生成的 HTML 結(jié)構(gòu): Markdown 列表無序列表的 Markdown,使用 *, +, - 同樣效果 * 交互
* 視覺
* 前端
+ 交互
+ 視覺
+ 前端
- 交互
- 視覺
- 前端
輸出同樣的 HTML 結(jié)構(gòu): <ul>
<li>交互</li>
<li>視覺</li>
<li>前端</li>
</ul>
有序列表則使用正常的阿拉伯?dāng)?shù)字即可: 1. 評審
2. 開發(fā)
3. 測試
輸出的 HTML 結(jié)構(gòu): <ol>
<li>評審</li>
<li>開發(fā)</li>
<li>測試</li>
</ol>
如果在列表之間隔開空行,同時縮進 4 個空格或者 1 個tab, 則會生成列表包含 p 標簽的復(fù)雜的結(jié)構(gòu): * 交互,
忙著改需求的的 PD
* 視覺
* 前端
輸出的 HTML 結(jié)構(gòu): <ul>
<li>交互,
<p>忙著改需求的的 PD</p></li>
<li>視覺</li>
<li>前端</li>
</ul>
Markdown 鏈接Markdown 支持兩種鏈接構(gòu)造方式: - 內(nèi)斂式
- 引用式
內(nèi)斂式 Markdown 語法是直接將鏈接地址附在鏈接文本之后: 這是 [UX 平臺鏈接](http:
輸出的 HTML 結(jié)構(gòu): 這是 <a href="http://ux.">UX 平臺鏈接</a>
另外,也可以給鏈接制定 title 屬性: 這是 [UX 平臺鏈接](http:
輸出的 HTML 結(jié)構(gòu): 這是 <a href="http://ux." title="UX 體驗工作平臺">UX 平臺鏈接</a>
引用式 Markdown 語法是文檔其它地方定義好 鏈接常量,直接引用即可,同事放括號內(nèi)不區(qū)分大小寫,如: UX 平臺最新的技術(shù)博客分別是 [KISSY RichBase 使用][1],[Mix網(wǎng)站低調(diào)上線][2] 和 [清空當(dāng)前頁面的用戶體驗][c]。
[1]: http:
[2]: http:
[C]: http:
輸出的 HTML 結(jié)構(gòu): <p>UX 平臺最新的技術(shù)博客分別是 <a href="http://ux./posts/613">KISSY RichBase 使用</a>,<a href="http://ux./posts/598">Mix網(wǎng)站低調(diào)上線</a> 和 <a href="http://ux./posts/580">清空當(dāng)前頁面的用戶體驗</a>。</p>
Markdown 還支持自動鏈接,即只需要尖括號包起來,就會自動轉(zhuǎn)成鏈接,在引述和書寫郵箱的時候很便捷。 Markdown 圖片圖片跟鏈接十分類似,只是鏈接文本前面多了一個嘆號 !。也分為內(nèi)斂式 和 引用式: ![alt text](http://img02./tps/i2/T13yQPXa4cXXaJKhPp-1638-1136.png "Markdown Tips")
![alt text][4]
[4]: http://img02./tps/i2/T13yQPXa4cXXaJKhPp-1638-1136.png "Markdown Tips"
上面這兩種都輸出同樣的 HTML 結(jié)構(gòu): <img src="http://img02./tps/i2/T13yQPXa4cXXaJKhPp-1638-1136.png" alt="alt text" title="Markdown Tips" />
目前 Markdown 讓人不爽的是,還不支持制定圖片寬高,如果需要,要使用普通的 <img> 標簽。 Markdown Tables一個簡單的示例如下: First Header | Second Header | Third Header
Content Cell | Content Cell | Content Cell
Content Cell | Content Cell | Content Cell
對于每個表格,你如果愿意,也都可以加上表頭分割線: | First Header | Second Header | Third Header |
|
| Content Cell | Content Cell | Content Cell |
| Content Cell | Content Cell | Content Cell |
輸出的 HTML 結(jié)構(gòu): <table>
<thead>
<tr>
<th>First Header</th>
<th>Second Header</th>
<th>Third Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>Content Cell</td>
<td>Content Cell</td>
<td>Content Cell</td>
</tr>
<tr>
<td>Content Cell</td>
<td>Content Cell</td>
<td>Content Cell</td>
</tr>
</tbody>
</table>
還通過冒號為每個列制定對其方向: First Header | Second Header | Third Header
:----------- | :-----------: | -----------:
Left | Center | Right
Left | Center | Right
輸出的 HTML 結(jié)構(gòu): <table>
<thead>
<tr>
<th align="left">First Header</th>
<th>Second Header</th>
<th align="right">Third Header</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Left</td>
<td>Center</td>
<td align="right">Right</td>
</tr>
<tr>
<td align="left">Left</td>
<td>Center</td>
<td align="right">Right</td>
</tr>
</tbody>
</table>
Markdown 代碼區(qū)塊在需要展示代碼片段的時候,Markdown 可以讓你以多種方式在多種場景下展現(xiàn)源代代碼。在普通的段落中,對某個代碼前后加反撇號就可以生成 code 片段: 在書寫 HTML 時,我不推薦使用 `<font>` 標簽
輸出的 HTML 結(jié)構(gòu): <p>在書寫 HTML 時,我不推薦使用 <code><font></code> 標簽</p>
對于大塊的成段的源代碼展現(xiàn),則每行縮進 4 個空格即可: 在 HTML5 中,`<!DOCTYPE>` 聲明方式只有一種:
<!DOCTYPE html>
<html lang=“zh_CN”>
<head>
<title>UX</title>
</head>
<body>
<p>Everything about UX</p>
</body>
</html>
輸出的 HTML 結(jié)構(gòu): <p>在 HTML5 中,<code><!DOCTYPE></code> 聲明方式只有一種:</p>
<pre><code><!DOCTYPE html>
<html lang=“zh_CN”>
<head>
<title>UX</title>
</head>
<body>
<p>Everything about UX</p>
</body>
</html></code></pre>
Markdown 隔離的代碼塊這是一個代碼塊,與前面的代碼區(qū)塊不同之處有兩點: - 不依賴于縮進
- 段落首尾分別使用三個反撇號。
這是被隔離的代碼快,跟縮進代碼塊達到同樣的效果。
Markdown 分割線在文檔中建立分割線的方式,就是用三個以上的星號,減號,或者下劃線,除了空格,不允許出現(xiàn)其它符號。如下寫法效果等同: ***
* * *
******
- - -
____
輸出的 HTML 結(jié)構(gòu): <hr />
Markdown 特殊字符自動轉(zhuǎn)換在 HTML 文件中,有兩個字符需要特殊處理: < 和 & 。 < 符號用于起始標簽,& 符號則用于標記 HTML 實體,如果你只是想要顯示這些字符的原型,你必須要使用實體的形式,像是 < 和 &。 Markdown 讓你可以自然地書寫字符,需要轉(zhuǎn)換的由它來處理好了。如果你使用的 & 字符是 HTML 字符實體的一部分,它會保留原狀,否則它會被轉(zhuǎn)換成 &。 所以你如果要在文檔中插入一個版權(quán)符號 ?,你可以這樣寫:
©
Markdown 會保留它不動。而若你寫:
AT&T
Markdown 就會將它轉(zhuǎn)為:
AT&T
Markdown 轉(zhuǎn)義Markdown使用 反斜線對如下字符進行轉(zhuǎn)義,來適用需要用到有意義符號的場景: \ 反斜線
` 反撇號
* 星號
_ 下劃線
{} 大括號
[] 中括號
() 括號
# 哈希標記
+ 加號
- 減號 (連字符)
. 點
! 嘆號
五、Markdown 深入了解如果你想了解更多的 Markdown 的應(yīng)用場景與相關(guān)文檔,下面這些可供參考:
|