Markdown
Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過類似HTML的標記語法,它可以使普通文本內容具有一定的格式。
Markdown 是一種輕量級的標記語言,由John Gruber和Aaron Swartz創建。這種語言創建靈感來自于已經存在的帶標記的電子郵件文本。Markdown 允許 HTML 語法,所以使用者如果需要可以直接用 HTML來表示是可以的。Markdown最初由Gruber應用在Perl語言中,但它已經有多種編程語言應用了。它是開源項目,并以BSD-style許可證的許可方式以插件形式或內容管理系統形式發布。
Markdown 的目標是實現「易讀易寫」
Markdown 的優點如下:
純文本,所以兼容性極強,可以用所有文本編輯器打開。
讓你專注于文字而不是排版。
格式轉換方便,Markdown 的文本你可以輕松轉換為 html、電子書等。
Markdown 的標記語法有極好的可讀性
[標題]
這是最為常用的格式,在平時常用的的文本編輯器中大多是這樣實現的:輸入文本、選中文本、設置標題格式。
而在 Markdown 中,你只需要在文本前面加上 # 即可,同理、你還可以增加二級標題、三級標題、四級標題、五級標題和六級標題,總共六級,只需要增加 # 即可,標題字號相應降低。例如:
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
注:'#' 和「一級標題」之間建議保留一個字符的空格,這是最標準的 Markdown 寫法。
[列表]
列表格式也很常用,在 Markdown 中,你只需要在文字前面加上 - + or * 就可以了,例如:
無序列表
- 文本1
- 文本2
- 文本3
如果你希望有序列表,也可以在文字前面加上 1. 2. 3. 就可以了,例如:
有序列表
- 文本1
- 文本2
- 文本3
注:-、1.和文本之間要保留一個字符的空格。
[鏈接和圖片]
在 Markdown 中,插入鏈接不需要其他按鈕,你只需要使用 顯示文本 這樣的語法即可,例如:
簡書
在 Markdown 中,插入圖片不需要其他按鈕,你只需要使用
[引用]
在我們寫作的時候經常需要引用他人的文字,這個時候引用這個格式就很有必要了,在 Markdown 中,你只需要在你希望引用的文字前面加上 > 就好了,例如:
一盞燈, 一片昏黃; 一簡書, 一杯淡茶。 守著那一份淡定, 品讀屬于自己的寂寞。 保持淡定, 才能欣賞到最美麗的風景! 保持淡定, 人生從此不再寂寞。
[粗體和斜體]
Markdown 的粗體和斜體也非常簡單,用兩個 * 包含一段文本就是粗體的語法,用一個 * 包含一段文本就是斜體的語法。
一盞燈, 一片昏黃;一簡書, 一杯淡茶。 其中「一盞燈」是斜體,「一簡書」是粗體。
代碼引用
需要引用代碼時,如果引用的語句只有一段,不分行,可以用 ` 將語句包起來。
如果引用的語句為多行,可以將```(反引號)置于這段代碼的首行和末行。
單行代碼引用
hello word
多行代碼引用
使用3個反引號
public void main() {
System.out.println("ok");
}
補充:要在 Markdown 中建立代碼區塊很簡單,只要簡單地縮進 4 個空格或是 1 個制表符(tab按鍵)就可以
所以,對于表格,如果向下面這樣書寫,有些解釋器,就理解為代碼而非表格了。
但你只要將表格放到行首,就沒有被識別為代碼的問題。感覺markdown在細節實現上,各家有些不同。
比如有道就可以識別下面的表格,但簡書就要刪除前面的4個空格或制表符才可以。
表格
序號 | 姓名 | 電話號碼
:--- |----- |:-------:
1 | 王 | 188居中
序號 | 姓名 | 電話號碼 |
---|---|---|
1 | 王 | 188居中 |
注意: 表格至少需要3個-符號才可以,多了貌似無所謂。另外:代表對齊方式。
分割線
分割線的語法只需要另起一行,連續輸入三個星號 *** 即可。
復選框
這個有道支持,簡書不支持。
- [x] -
- [x] -復選框
- [x] -
- [ ] -
- [ ] -
markdown編輯器
win:
- 有道云筆記,優點,客戶端自帶markdown模式,左右窗口,實時預覽。
- 簡書,優點,在線markdown編輯器,同樣實時預覽
- pandoc 通用轉換工具,功能強大。
linux:
- ReText,需要依賴庫,麻煩,沒有實驗。
關于換行
首先,這個問題由來已久。和一般的編輯器習慣不同。
單個回車,視為空格。連續兩個回車或者行尾加兩個空格,才視為換行。
有道云筆記支持\換行,簡書不支持,簡書直接替換了換行行為,一個回車即可,符合"一般"編輯器行為。
縮進
Markdown 語言不負責實現段首縮進,段首縮進這件事,應該是 CSS 或者其他排版工具的事情。
Markdown 奉行的是樣式和內容分開的哲學。即使手動輸入空格, 也是很不推薦的方法。
首行縮進方法:可以在段首加入?來輸入一個空格。
vim中編輯
現代的gvim支持markdown語法高亮顯示,且斜體和粗體等語法直接就對文字加斜或加粗了。
update:2017.9.4