Markdown 初學者指南
在我的工作中,我經常要寫代碼、寫與代碼相配套的文檔、創建網頁、進行文本恢復項目。我在學校的時候還寫過幾篇正式的論文,也包括寫課堂筆記,幾乎每節課都寫。
我幾乎在我所有的寫作中都使用 Markdown,它對我來說是一個節省時間的好工具。
在這篇文章中,我將分享我使用 Markdown 的體會。你將會了解以下內容:
- 什么是 Markdown ?
- 它是怎么工作的?
- Markdown 的基本語法和怎樣使用它們。
什么是 Markdown ?
假如你是 Markdown 新手,它是一個為網絡寫手轉換文本到 HTML 格式的工具。Markdown 文檔遵循一種特定的語法,容易閱讀和寫作。它們是純文本,所以能夠通過電腦上的任何文本編輯器來創建。然后這些文檔能夠轉換成網頁 —— 而網頁是用一個叫做 HTML 的語言標記創建的。
Markdown 只是一種不必(即使知道怎么做)寫 HTML 代碼就能夠創建網頁的方式。實際上,如果你不轉換成 HTML 的話,Markdown 甚至是個對純文本格式化的好方法。有人曾這樣對我描述 Markdown :
“ 它不是所見即所得,而是所見即所意 ”。
然而,Markdown 不只是一個簡單的格式化體系,它也是一個純文本格式轉化到 HTML 的一個軟件工具。
這就是為什么語法很重要。如果你想在網頁上起個標題,Markdown 將會基于你標題前面的字符來創建。Markdown 的一些語法示例如截圖所示:
Markdown to HTML conversion
所以我怎樣才能使純文本文件轉換成 HTML 格式呢?
John Gruber 的 Markdown 是一個運行在命令行上的 Perl 腳本。也就是說,它可以讀取你創建的 Markdown 文本并用它來構建網頁。
由于有 ??許多著名的編輯器?? 可以為你做這個轉換,我在這里盡量避免使用命令行。不僅如此,許多這樣的編輯器會讓你寫下你的文本,并同時向你展示網頁的樣子(稱為渲染)。
Markdown 編輯器總的來說設置了兩幀:左邊部分是你要寫你文本的地方,右邊部分是用 HTML 語言顯示給你格式化后文本的樣子:
Most Markdown editors have two panes to write and preview the text
當你用它滿意地完成你的寫作,只需保存 Markdown 文件即可。就像這樣,之后一旦你需要編輯和修改的時候,你就會用到它。文件保存后,你可以用編輯器將 Markdown 文檔導出為 HTML 格式的文檔。
編輯器用你的 Markdown 作為參考創建網頁。你的 Markdown 文檔在導出時不會修改,你仍然擁有源文檔,同時創建一個獨立的、新的 HTML 文檔(網頁),你可以把它放到一個網頁服務器上。
注意:許多 Markdown 編輯器也可以將你的 Markdown 文檔導出為其他格式,比如 ??.doc?
?、??.docx?
? 和 ??.pdf?
?。之后你可以了解這些高級設置和你可能需要的額外軟件。
Markdown 基礎語法
為了讓 Markdown 新用戶快速了解,我將把這部分內容限制在我最常使用的語法上。我相信這些將是最有幫助的 - 你可以在現在就提高工作效率,同時了解更多關于 Markdown 以后能為你做什么。
寫標題
我經常使用 ??#?
? 字符來表示標題。這里有六個等級:
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
還有一種標題類型,是在文本下使用下劃線。我很少使用這種類型的標題,我只限于使用兩種:一種是使用 ??=?
? 字符表示的雙下劃線,生成 ??H1?
? 標題。一種是使用 ??-?
? 字符表示的單下劃線,生成 ??H2?
? 標題:
一級標題
===============
二級標題
---------------
段落
段落被空行隔開(確保段落之間有一個空行)。首行不要縮進。在 Markdown 里用 ??Tab?
? 鍵或者空格鍵縮進有著不同的目的和作用。
段落是一個文本塊,不應該用空格鍵和 ??Tab?
? 鍵來縮進。它可以有一行或者多行。要結束這一段另起一段,點兩下回車鍵;段落通過一個空行分開。
換行
請記住,對于段落,必須用空行來分隔它們,這要通過按兩次回車鍵來實現。Markdown 對此很嚴格。
Markdown 不支持 “強制插入換行符hard-wrapped” 或者 “固定行長度fixed-line-length” 段落。那就是說,單擊回車鍵一次將不會強制文本換到新的一行。它可能在編輯窗口顯示,但是 HTML 格式下不顯示。
然而,有時你可能需要拆分段落或者換行。Markdown 確實有一種方法可以做到,但是它一開始看起來可能有一點奇怪:換行是通過用兩到多個空格鍵然后點一次回車鍵完成的。
這里有一個短詩的范例。每行以兩個空格結束。最后一行,由于是這個小節的結束,沒有額外的空格。因為它是這個詩句(段落)的結束,我雙擊回車鍵兩次:
Baa, baa black sheep,
Have you any wool?.
Yes, sir. Yes, sir.
Three bags full.
在一行的最后加兩個空格來創建一個換行,可能需要時間去習慣。
水平線
水平線非常適合將文本拆分為多個部分。
用三個或更多的破折號 ??-?
? ,下劃線 ??_?
? ,或者星號 ??*?
? 來做水平線,像這樣:
---
***
___
你甚至可以在字符之間輸入空格:
- - -
在文章和報告中我不經常使用水平線,但是在日記、系統日志和課堂筆記中對我很有用。
用加粗和斜體來強調文本
當你想讓一個單詞或者短語脫穎而出,引起注意,你可以讓它加粗或者斜體顯示。斜體和加粗文本可以在兩種方式中任選其一。第一種是用星號 ??*?
? 將其包括,第二種是用下劃線 ??_?
? 的方式。
使一個單詞或者短語斜體顯示,用一個下劃線或者星號來括住文本。使一個單詞或者短語加粗,使用兩個下劃線或者星號來括住文本:
用星號來顯示 *斜體* 。
用下劃線來顯示 _斜體_ 。
用星號來顯示 **加粗** 。
用下劃線來顯示 __加粗__ 。
記住兩邊使用相同的字符。單詞或短語的一面是星號,另一面是下劃線,將不會生效。相同字符必須在單詞或者短語的兩邊。
塊引用
塊引用被用來直接引用。如果你正在寫博客,你想重復本杰明?富蘭克林說過的話,你可以使用塊引用。
一個右尖括號被用來指定塊引用:
> 這是塊引用。
>> 如果你想進一步再次塊引用,使用兩個右尖括號。
在 Markdown 中添加超鏈接
超鏈接非常酷。在基礎版的 Markdown 語言有三種方式創建超鏈接,在這里我只講兩種:普通連接和自動連接。
第三種鏈接被稱為參考鏈接,在 Markdown 語言的基礎版和高級版都支持。我想讓你快速入門。你可以在準備好的時候找找參考鏈接的資料。
普通鏈接可以讓你鏈接到各種各樣的網站。網站名稱或者你要使用的短語被放置在中括號 ??[]?
? 中。真實的鏈接地址在小括號 ??()?
? 中。
現在去看看 [Linux 中國](https://linux.cn) 。
自動連接通過用尖括號 ??<>?
? 括住鏈接地址。這個鏈接是一個實際的地址(可以是網址或者電子郵件地址)。拼寫出來的鏈接被轉換到 HTML 的時候,就變成了有效的鏈接。
<http://automatic-link-to-url.com/>
<name@emailaddress.com>
當你想在文本中拼寫出網址時,這很有用:
在 Markdown 中添加圖片
鏈接圖片幾乎與鏈接網站一樣。網站鏈接和圖片鏈接微小的不同是,圖片鏈接以感嘆號 ??!?
? 開始。
圖片名稱或者圖片描述放置在中括號 ??[]?
? 里。實際鏈接放置在小括號 ??()?
? 里。
你可以像這樣嵌入圖片:

這兒有一個示例圖像鏈接。這是一個示例鏈接,沒有這個圖片,但是這是個好例子,顯示了實際鏈接應該有的樣子:

列表
制作列表有很多原因。它們可能用來作為代辦事項、大綱中的主題元素、組裝項目中的明細欄等等。列表有兩種主要類型:無序列表和有序列表。
無序列表沒有編號;這些就是我們在許多文檔中所看到的列表項。有序列表是有編號的。
要創建一個有序(有編號的)列表,只需在每行用一個數字開始,像這樣:
1. 項目 一。
2. 項目 二。
3. 項目 三。
無序列表沒有編號,但要在列表每個項目的開始使用一個星號 ??*?
? 、一個加號 ??+?
? ,或者一個減號 ??-?
? 。我偏向于使用一個星號或者減號,你可以選擇適合你的:
* 項目 一。
+ 項目 二。
- 項目 三。
子項目可以通過縮進被添加到有序和無序列表中,像這樣:
1. 子項目 一
2. 子項目 二
Markdown 語法速查表
這是一個簡短的 Markdown 語法列表為你作為參考,這個列表已經在本小結中介紹。
如果你決定使用 Markdown 作為寫作工具,你會發現 Markdown 會讓寫作變得更加簡單。
結語
Markdown 可以做比我描述的更多的事情。我寫作的很大一部分是用我在這里介紹的 Markdown 語法完成的 - 而這些是我最常使用的項目,即使是在更復雜的項目中。
如果這些看起來太簡單了,那么說明它真的很容易。Markdown 用來完成簡單的寫作任務,但是你不必完全聽我的。你可以嘗試一下!不必安裝 Markdown 編輯器;你可以在線嘗試。這里有幾個 ??優秀的在線 Markdown 編輯器??。這里我喜歡用這三個:
- John Gruber’s ??Dingus??
- ??Editor.md??
- ??Dillinger??
??Editor.md?? 和 Dillinger 會讓你看到你的 Markdown 文本作為 HTML 實時渲染的效果。 Dingus 不能實時預覽,但是在參考頁有 Markdown 的語法速查表。
用以上這些在線編輯器嘗試一下文章中的示例。也可以嘗試一下你自己的想法。這將使你在可能致力于學習更多的知識之前習慣于 Markdown。