Markdown學習筆記.簡書版.2018年12月12日
前言
隨著各種電子文件格式化語言的發展,Markdown逐漸以簡單方便勝出。在經歷了網際網路站、部落格、微博等的使用後,目前選擇“簡書”作為自己記錄學習筆記和釋出網路文章的主平臺。掌握簡書版的Markdown語法和使用也就勢在必行了。學習、整理簡書Markdown的語法,以方便自己寫作,同時也希望能給需要的人以幫助。既然是學習筆記,就是自己學習過程中乾貨的記錄。
本人使用簡書和Markdown都不久,又不是精進的人,東抄西改,難免有疏漏錯誤,歡迎留言指正。同時也希望這個文件對大家有用。
一、標題
標題很重要,基本奠定了一篇文章整體的框架;當然,標題也很簡單,用 # 表示:一個 # 代表的是一級標題、二個 ## 代表的是二級標題,以此類推,至多到六級標題,也就是六個 ###### 。
程式碼:
# 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題 ###### 六級標題
效果:
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
當然,還有一種程式碼只對一級標題、二級標題起作用,就是在一級標題文字的下一行輸入 ====================
就OK了,其實這裡只需要寫一個 =
就會起作用;二級標題只需要在下一行輸入一個 -
就OK了。
程式碼:
一級標題 ==================== 二級標題 ---------------------
效果:
一級標題
二級標題
二、列表
Markdown支援的列表有兩種,一種是有序列表,另一種是無序列表;其實也沒有太多差別,只是讓文件內容更加有條理些,主要還是看個人審美和寫作習慣了。列表不僅可以列出item,當然也可以用來分段落。每個段落開頭使用列表的標記語法。
1、有序列表
利用數字加點號來標記序列,例如“1.”。有序是可以巢狀的,所以要注意“1.”和內容之間的空格,相同空格數為同級列(這裡的空格數只有 零空格 和 空一格 起作用,超過一格的效果和一格的效果一樣的);當然空到5格,整行的背景將變成黑色。
程式碼:
Code 1: 1. 這是第一點要素(空一格) 2.這是第二點要素(零空格) 3.這是第三點要素(零空格) Code 2: 1.這是第一點要素(零空格) 2. 這是第二點要素(空一格) 3.這是第三點要素(零空格) Code 3: 1.這是第一點要素(空五格) 2.這是第二點要素(零空格)
效果:
Code 1:
- 這是第一點要素(空一格)
2.這是第二點要素(零空格)
3.這是第三點要素(零空格)
Code 2:
1.這是第一點要素(零空格) - 這是第二點要素(空一格)
3.這是第三點要素(零空格)
Code 3: -
這是第一點要素(空五格)
2.這是第二點要素(零空格)
2、無序列表
利用符號“-”、“+”、“*”來標記。注意符號和內容之間空一格,和有序列表一樣,空五格整行背景色變成黑色;當有2個符號交錯使用時,列表內容之間的空行的大小不一致,看Code3和Demo3。
程式碼:
Code 1: * 這是第一點要素(空一格) * 這是第二點要素(空一格) * 這是第三點要素(空一格) Code 2: *這是第一點要素(空五格) * 這是第二點要素(空一格) Code 3: * 這是第一點要素(使用*空一格) - 這是第二點要素(使用-空一格) - 這是第三點要素(使用-空一格)
效果:
Code 1:
- 這是第一點要素(空一格)
- 這是第二點要素(空一格)
- 這是第三點要素(空一格)
Code 2: -
這是第一點要素(空五格)
- 這是第二點要素(空一格)
Code 3: - 這是第一點要素(使用*空一格)
- 這是第二點要素(使用-空一格)
- 這是第三點要素(使用-空一格)
三、引用
區塊引用其實很簡單,使用“>”標記,區塊引用是可以巢狀的,標記多少個“>”,就巢狀多少層,簡書我測試了一下,好像是最高可以巢狀20層;超過20個的“>”會按文字形式輸出。值得注意的是區塊引用不僅可以巢狀自己,還可以巢狀其他Markdown語法,比如標題、列表、程式碼塊等。
可以自己嘗試著把所有的語法一個個巢狀進去玩玩,這裡就不做程式碼演示了。
程式碼:
>>>>>>>>>>>>>>>>>>>>> 區塊引用內容(這裡有21個“>”,最後一個會按文字形式輸出)
效果:
> 區塊引用內容(這裡有21個“>”,最後一個會按文字形式輸出)
四、程式碼塊
程式碼塊有兩種形式,一種是行內程式碼塊,使用“`” 來標記;另一種區塊(段落)程式碼塊使用“```”來標記。
1、行內程式碼塊
程式碼:
行內程式碼演示: Java語言的列印語句為:`System.out.printf("test");`
效果:
行內程式碼演示:
Java語言的列印語句為: System.out.printf("test");
2、區塊程式碼
區塊程式碼引用是可以分程式語言的,比如Java、PHP、C、C++等,注意在“ ”加上程式語言名稱就行,比如:“
java” 、“ php”。區塊程式碼也可以以行的形式顯示:區塊引用前一行必須為文字(可以試一下不是文字),然後再寫要引用的區塊程式碼,注意這裡的頭尾的“
”必須 空四格 ,也就是 2個製表符 ,請看示例。
程式碼:
Java的程式碼引用語法:
``java public class Printf { public static void main(String[] args) { System.out.printf("test"); } }```
php的程式碼引用語法:
``php <?php echo "Hello World!"; ?> ```
效果:
Java的程式碼引用語法:
public class Printf { public static void main(String[] args) { System.out.printf("test"); } }
php的程式碼引用語法:
<?php echo "Hello World!"; ?>
五、分割線、斜體、加粗、刪除
1、分割線
分割線一般使用3個或著3個以上的星號“ ”、減號“-”、下劃線“_”來標記,當然星號“ ”、減號“-”、下劃線“_”之間可以加入空格;還有一個就是“ <hr>
”也可以顯示為分割線,以下都可以表示為分割線:
程式碼:
*** --- ___ <hr>
效果:
2、斜體、加粗、刪除
斜體、加粗、刪除一般使用標記符號“ ”、“_”、“~”,他們是 可以巢狀使用 *的,直接看程式碼語法:
程式碼:
*斜體* _斜體_ **加粗** __加粗__ ***斜體+加粗*** ___斜體+加粗___ ~~刪除~~ ~~***斜體+加粗+刪除***~~
效果:
斜體
斜體
加粗
加粗
斜體+加粗
斜體+加粗
六、連結
連結有多種形式,最直接的一種使用“<url>”來標記。還有兩種,分別是行內連結和參考連結。對於行內連結,直接用“ [連結顯示的文字](url "滑鼠移動到連結顯示文字時顯示此內容")
”來表示;而對於參考連結,首先使用“ [連結顯示的文字][id]
”來標記,然後再在文章的任意處寫上“ [id]:url "滑鼠移動到連結顯示文字時顯示此內容"
”,參考連結兩行語法不能相鄰寫,至少要空一行寫,否則不起作用。好像“ "滑鼠移動到連結顯示文字時顯示此內容"
”文章釋出後不起作用。請看示例:
程式碼:
<https://www.baidu.com/> [百度](https://www.baidu.com/ "行內式連結title:baidu") [百度][baiduid] [baiduid]:https://www.baidu.com/ "參考式連結title:baidu" (這一句要和上面那句語法隔至少一行)
效果:
七、圖片
圖片的使用和連結差不多,也有兩種:行內式和參考式。
程式碼:
 ![中秋][zhongqiuid] [zhongqiuid]:https://upload-images.jianshu.io/upload_images/10409495-c850b845be64e433.jpg? "參考式圖片連結:魯迅" (這一句要和上面那句語法隔至少一行)
效果:

中秋

中秋
八、表格
表格很簡單,只要注意列的對齊方式就行。當然每個單元格內還可以巢狀其他語法,比如加粗、斜線、刪除等。
程式碼:
|列1|列2|列3| |:---|:---:|---:| |左對齊|中間對齊|右對齊|
效果:
列1 | 列2 | 列3 |
---|---|---|
左對齊 | 中間對齊 |
|
九、註腳
註腳用於在正文中對某個詞的解釋說明,作用當然是對詞進行解釋和說明。一般在文中做了一個註腳,相應的在文章的最末尾就會產生相應的註腳解釋。簡書不支援頁內跳轉,也可以用註腳來實現業內跳轉,但是我總覺得這種方式實現頁內跳轉不太方便。本文所有的標題都用到了註腳,可以直接到文章末尾檢視,也可以看下面的示例。
程式碼:
馬雲,男,漢族,中共黨員[^mayun],1964年9月10日生於浙江省杭州市,祖籍浙江省。 [^mayun]:[關於改革開放傑出貢獻擬表彰物件的公示](http://cpc.people.com.cn/n1/2018/1126/c419242-30420351.html)
效果(這裡給“中共黨員”做了註腳。點選註腳可以跳轉到文章末尾處的註腳解釋部分。):
馬雲,男,漢族,中共黨員,1964年9月10日生於浙江省杭州市,祖籍浙江省。
十、使用MathJax實現文字居中、改變文字大小和顏色
簡書Markdown是支援數學表示式的,像MathJax,主要是使用“ $$
”和“ $$$$
”符號,“ $$
”表示行內的數學表示式;“ $$$$
”表示塊數學表示式,這種方式可以使得文字居中。
分享幾個好的網站:
下面可以看一下示例:
質能守恆方程可以用一個很簡潔的方程式 $E=mc^2$ 來表達。 $$\sum_{i=1}^n a_i=0$$ $$f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$ $$\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)$$ $$ \begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix} $$
顯示效果:
來表達。
一般我是使用這條語句“ $$\color{green}{\small\mathbf{文字內容}}$$
”來實現文字的居中、改變大小和顏色的,上面說頭尾分別兩個“ $$
”就可以實現文字的居中,而“\color{green}”實現了顏色的改變,這裡的引數“green”是可以改變了,引數形式可以直接寫“red”、“yellow”等,也可以寫成十六進位制的形式,比如:“#3f48cc”;而引數“\small”是實現字型大小的,這裡可以是“\tiny”、“\small”、“\normalsize”、“\large”、“\Large”、“\LARGE”、“\huge” 和 “\Huge”;而引數“\mathbf”是改變字型樣式的,可能的值有“\mathbb or \Bbb”、 “\mathbf”、“\mathit”、“\pmb”、“\mathtt”等,相關內容可以在上面分享的 網站 中找到。
注意:文字內容最好是英文的,因為如果是中文的話,在手機端或者某些瀏覽器是顯示不出來的。
具體看下面的示例(這裡的中文“測試”在手機端沒法顯示,而“TEST”會顯示):
文字居中:
$${\text{測試}}$$ $${\text{TEST:center}}$$ ${\text{TEST:left}}$
文字大小(這裡的中文“測試”在手機端沒法顯示,而“TEST”會顯示):
$${\tiny\text{測試}}$$ $${\small\text{TEST}}$$ $${\large\text{TEST}}$$ $${\huge\text{TEST}}$$
文字顏色(這裡的中文“測試”在手機端沒法顯示,而“TEST”會顯示):
$${\color{red}{\text{測試}}}$$ $${\color{green}{\text{TEST:green}}}$$ $${\color{blue}{\text{TEST:blue}}}$$ $${\color{#3f48cc}{\text{TEST:#3f48cc}}}$$
文字樣式(這裡的中文“測試”在手機端沒法顯示,而“TEST”會顯示):
$${\text{測試}}$$ $${\mathbb{TEST}}$$ $${\pmb{TEST}}$$ $${\mathscr{TEST}}$$ $${\mathfrak{TEST}}$$
文字居中效果:
文字大小效果:
文字顏色效果:
文字樣式效果:
其他
1、Emoji
最後分享幾個表情(Emoji,以下使用Emoji來敘述)的線上站點,再提一下“ <br>
”用來換行,“ &nbap;
”表示英文半形空格,“  
”表示中文半形空格,“<! -- -->”用來註釋。註釋的實際使用中“<!”和“--”之間不能有空格,前面“<!”和“--”之間有一個空格,是為了顯示出來這個註釋的標記語法,如果不空格,就無法顯示出來。
Emoji線上站點:Emoji的使用就是直接複製貼上到文件中。值得注意的是,有些瀏覽器可能對有些Emoji而言顯示不出來,所以在選擇Emoji時,選擇恰當的就行了。
2、Markdown 與 HTML 的關係
- HTML 是一種釋出的格式,Markdown 是一種書寫的格式。
- Markdown 的格式語法只涵蓋純文字可以涵蓋的範圍。
- 在 Markdown 中可直接使用 HTML 標籤,但需要注意:
- 對於 HTML 區塊元素,如 “ div、table、pre、p ” 等標籤,必須在前後加上空行與其它內容區隔開,還要求它們的開始標籤與結尾標籤不能用製表符(Tab)或空格來縮排;
- HTML 的行內標籤,如“ span、cite、del ”可以在 Markdown 的段落、列表或是標題裡隨意使用;
- 在 HTML 的區塊標籤中的 Markdown 標籤是沒有效果的;
- 在 HTML 檔案中,有兩個字元需要特殊處理:“<”和“&”,必須使用轉義字元:“<”和“&”;
- Markdown 中,你可以自由的書寫“<”和“&”,編輯器會智慧的進行判斷:當這些符號用於 HTML 標籤中,他們將保留原型;當他們單獨使用時,將會轉換為字元實體;在程式碼塊中,它們將統統被轉換為字元實體,即:原樣顯示。
3、Markdown 中的轉義字元
Markdown 中,如需顯示有特定意義的符號,如:“*”、“#”等,可使用反斜槓“\”進行轉義。
程式碼:
\* \` \* \_ \{} \() \# \+ \- \. \!
效果:
*
`
*
_
{}
()
#
+
-
.
!
4、希望簡書支援的功能
- 生成目錄索引
- 文章標籤(Tags)
- 定義列表和待辦事宜(Todo列表)
- 數學公式
- 各種圖形:流程圖、時序圖、甘特圖
- 區塊程式碼中顯示行號
參考(抄襲)文章:【簡書MD語法大全】:unlock:解鎖簡書markdown語法.(作者:辛德瑞拉Dangerous。連結: https://www.jianshu.com/p/af18fafd9e6f )