關於Markdown
Markdown 是一種輕量級標記語言,創始人為 John Gruber 和 Aaron Swartz。它允許人們“使用易讀易寫的純文本格式編寫文檔,然后轉換成有效的 XHTML(或者 HTML)文檔”。這種語言吸收了很多在電子郵件中已有的純文本標記的特性。
1.為什么要推薦Markdown?
都開始寫公眾號文章了吧,總的有點儀式感吧。一開始是打算用普通的文本編輯器來寫文章的,基本的編輯,插入圖片都是沒得啥子問題的,但是如果想講自己的寫得文章可以在更多的平台上展現的更自然,更有層次結構,閱讀器來更加的舒服,那就需要一個格式化的文本標記語言,也就是我們今天要說的markdown,好,話不多少,直接進入主題。(本文章為平時學習所記錄的,在后期整理后所得)
2.編寫 Markdown 就如同編寫純文本一樣簡單、純粹:
- 它方便修改和發布;
- 支持多種格式,表格,數學表達式的插入
- 很容易轉換為 HTML 代碼;
- 有眾多語言及應用的相關擴展;
- 在 GitHub 等環境中有很好的應用;
- 是編寫文檔、記錄筆記、撰寫文章的合適選擇。
一、段落與換行
1.段落的前后必須是空行:
空行指的是行內什么都沒有,或者只有空白符(空格或制表符)
相鄰兩行文本,如果中間沒有空行 會顯示在一行中(換行符被轉換為空格)
2.如果需要在段落內強制加入換行():
可以在前一行的末尾加入至少兩個空格然后換行寫其它的文字
3.Markdown 中的多數區塊都需要在兩個空行之間。
二、標題
1.Setext 形式
H1
H2
= 和 - 的數量是沒有限制的。通常的做法是使其和標題文本的長度相同,這樣看起來比較舒服。
2.atx 形式
① 可以用對稱的 # 包括文本:
H1
② 也可以只在左邊使用 #:
H1
H2
H3
H4
H5
H6
③ 成對的 # 左側和只在左邊使用的 # 左側都不可以有任何空白,但其內側可以使用空白。
左側使用了空格
三、引用
> 1.引用內容 > 2.Markdown 區塊 > 2.Markdown 區塊
1.引用內容2.Markdown 區塊3.Markdown 區塊
> 最外層 > > 第一層嵌套 > > > 第二層嵌套
最外層
第一層嵌套
第二層嵌套
> 區塊中使用列表 > 1. 第一項 > 2. 第二項 > + 第一項 > + 第二項 > + 第三項
區塊中使用列表
- 第一項
- 第二項
- 第一項
- 第二項
- 第三項
列表中使用區塊
如果要在列表項目內放進區塊,那么就需要在 > 前添加四個空格的縮進。
區塊中使用列表實例如下:
* 第一項 > 今天 > 學的不僅是技術更是夢想 * 第二項
- 第一項
今天學的不僅是技術更是夢想
- 第二項
四、列表
1.無序列表
- 可以使用 * 作為標記
- 也可以使用 +
- 或者 -
2.有序列表
- 有序列表以數字和 . 開始;
- 數字的序列並不會影響生成的列表序列;
- 但仍然推薦按照自然順序(1.2.3...)編寫。
3.相關事項
- 無序列表項的開始是:符號 空格;
- 有序列表項的開始是:數字 . 空格;
- 空格至少為一個,多個空格將被解析為一個;
- 如果僅需要在行前顯示數字和 .:
- 可以使用:數字 . 來取消顯示為列表
五、代碼區塊
1.可以使用縮進來插入代碼塊:
// Tab開頭 Markdown // 四個空格開頭
代碼塊前需要有至少一個空行,且每行代碼前需要有至少一個 Tab 或四個空格;
2.也可以通過 ``,插入行內代碼(` 是 Tab 鍵上邊、數字 1 鍵左側的那個按鍵):
例如 Markdown
3.代碼塊中的文本(包括 Markdown 語法)都會以原格式顯示,而特殊字符會被轉換為 HTML 實體。
六、分隔線
1.可以在一行中使用三個或更多的 *、- 或 _ 產生分隔線:
2.多個 * 之間可以有空格(空白符),但不能有其他字符:
七、鏈接
1.行內式
[鏈接名稱](鏈接地址) 或者 <>
例如:
這是一個鏈接 [百度](https://www.百度.com)
顯示結果如下:
2.參考式
① 首先,定義鏈接:
[Google](http://www.google.com/)
第二個方括號內為鏈接獨有的 識別符,可以是字母、數字、空白或標點符號。識別符是 不區分大小寫 的;
② 然后定義鏈接內容:
其格式為:[識別符] : 空白符 URL title
其中,URL可以使用 <> 包括起來,title 可以使用 ""、''、() 包括(考慮到兼容性,建議使用 ""),title 部分也可以換行;
鏈接內容的定義可以放在同一個文件的 任意位置;
③ 也可以省略 識別符,使用鏈接文本作為 識別符:
[Google][] [Google]: http://www.google.com/ "Google"
3.自動鏈接
使用 <> 包括的 URL 或郵箱地址會被自動轉換為超鏈接:
http://www.google.com/ [123@email.com](mailto:123@email.com)
該方式適合行內較短的鏈接,會使用 URL 作為鏈接文字。郵箱地址會自動編碼,以逃避抓取機器人。
八、圖片
Markdown插圖片有三種方法,各種Markdown編輯器的插圖方式也都包含在這三種方法之內。
插圖最基礎的格式就是:
Alt text:圖片的Alt標簽,用來描述圖片的關鍵詞,可以不寫。
圖片鏈接:可以是圖片的本地地址或者是網址。
"optional title":鼠標懸置於圖片上會出現的標題文字,可以不寫。
1. 插入本地圖片
只需要在基礎語法的括號中填入圖片的位置路徑即可,支持絕對路徑和相對路徑。例如:

顯示如下:
不靈活不好分享,本地圖片的路徑更改或丟失都會造成markdown文件調不出圖。
2. 插入網絡圖片
只需要在基礎語法的括號中填入圖片的網絡鏈接即可,現在已經有很多免費/收費圖床和方便傳圖的小工具可選。例如:
將圖片存在網絡服務器上,非常依賴網絡。
3. 把圖片存入markdown文件
用base64轉碼工具把圖片轉成一段字符串,然后把字符串填到基礎格式中鏈接的那個位置。
- 基礎用法:
這個時候會發現插入的這一長串字符串會把整個文章分割開,非常影響編寫文章時的體驗。如果能夠把大段的base64字符串放在文章末尾,然后在文章中通過一個id來調用,文章就不會被分割的這么亂了。
至於base64的圖片編碼如何得來,這里不做說明,有興趣的可以自行百度
九、強調
1.使用 ** 或 __ 包括的文本會被轉換為``,通常表現為斜體:
這是用來 演示 的_文本_
2.使用 或 包括的文本會被轉換為``,通常表現為加粗:
這是用來 演示 的 文本
3.用來包括文本的 * 或 _ 內側不能有空白,否則 * 和 _ 將不會被轉換:
這是用來* 演示*的_文本 _
4.如果需要在文本中顯示成對的 * 或 _,可以在符號前加入 \ 即可:
這是用來_演示_的_文本_
5.、*、_ 和 __ 都必須 成對使用;
十、Task List
```
- Code
- HTML
- CSS
- JavaScript
- Sleep
```
顯示如下;