Markdown學習筆記
1.Markdown語言簡介
Markdown 語法的目標是:成爲一種適用於網絡的書寫語言。特性是「易讀易書寫」。Markdown是一種書寫語言,是大家約定好的一種書寫有結構的文本文件的方式。而HTML,pdf 是發佈的格式。
一份使用 Markdown 格式撰寫的文件應該可以直接以純文本發佈,並且看起來不會像是由許多標籤或是格式指令所構成。
Markdown的設計目標是容易轉化成html發佈。所有在Markdown中的標記實際都被MD編輯器轉化成html元素了。Markdown實質是簡化易讀易寫的html書寫語言,解釋成html。MD和html是完全兼容的,可以在MD中加入html的標籤。
Markdown有許多衍生版本,GFM(GitHubFlavored Markdown)是github的一個MD語言擴展,對程序員來說很有愛。GFM的介紹https://help.github.com/articles/github-flavored-markdown。GFM部分的有愛特性:(1)代碼高亮(2)任務列表(3)自動URL鏈接。
2.Markdown編輯器
首先,Markdown文件就是文本文件,可以在任何文本編輯器中編輯。專業的Markdown編輯器的作用有(1)可以轉換成html,html又可以轉換成pdf——即可以轉換成發佈格式。(2)在線發佈、協同編輯。(3)實時預覽、工具欄。
編輯器 |
stackedit插件 |
Minimalist Markdown Editor插件 |
||
需要特定的瀏覽器 |
需要 |
不需要 |
不需要 |
需要 |
離線使用 |
√ |
%>_<% |
%>_<% |
√ |
快捷工具欄 |
√ |
√ |
%>_<% |
%>_<% |
支持導航 |
√ |
√ |
%>_<% |
%>_<% |
持續更新 |
√ |
√ |
√ |
√ |
是否支持GitHub Flavored Markdown |
支持table 支持自動鏈接 |
支持table 支持自動鏈接 |
支持~~囧~~ 即, |
不支持 |
其他MD編輯器:Win Mac和Lin環境下都有自己一些編輯器。還有在線的,如簡書(在線),或者chrome插件,如Made插件(不更新了)。Ps.聽說vim+vim插件+chrome+chrome插件,用起來也不錯。
選用stackedit挺好的,不過它的離線使用很囧,一定要先在線下載好了所有文件(js之類)才能離線,如果想真正的離線使用也可以下載stackedit的開源源碼,打開index.html 使用,源碼地址 https://github.com/benweet/stackedit。
3.Markdown語法
基本語法
主要語法很簡單,但是有些瑣碎和不常見的語法,如嵌套引用>>不需要特別記憶,到時候看到或者想到需要用的時候再查吧。只管主要語法。不過,和html5一樣,真正的語法其實是編輯器定義的。
語法 |
如何標記 |
效果(還是要看編輯器和庫的實現) |
段落 |
什麼不標記自然成爲段落,即正文。 一個段落是由一個或多個連續的行構成,段落間靠一個或以上視覺上的空行劃分。 |
一般的段落不應該用空格或製表符縮進。 所以一個空行就可以分區段落。 |
換行 |
結尾兩個空格強制換行。 在文本中輸入的換行會從最終生成的結果中刪除,瀏覽器會根據可用空間自動換行。 |
|
標題 |
# 標題名 間隔一個空格,另外一種方式 一級標題名 ========== 二級標題名 ----------------- |
n個#表示n級標題,字號逐級降低。共6級。 兩種方式可以兼容,對於簡單文檔來說兩級標題已經夠了。而且橫線的方式比較易讀。
任何數量的 = 和 - 都可以有效果 |
列表 有序列表 |
- 或 + 或 * 1. |
爲了避免出現歧義,當寫「1986. 條是***」這樣的行需要加入轉義標識。「1986\. 條是***」 |
鏈接 圖片
自動鏈接 |
[鏈接說明](URL) ![](URL) 鏈接和圖片都可以放在文章最後,相當於引用 [鏈接文字][鏈接引用標籤] [鏈接引用標籤]: 鏈接地址 "鏈接標題" <URL>也會生成直接的地址 |
例子: ![alt text][logo]
[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2" |
引用 |
>引用內容
>引用 >內容 |
可以選擇只在開頭加一個。也可以在每行前面都加一個,效果是一樣的。 |
斜體 粗體 粗斜體
橫穿 |
*文本* **文本** ***文本*** 用_文本_也可以,對於程序員來說不方便 ~~文本~~ |
表示強調 表示加重強調 表示特別強調 |
代碼 |
`行內短代碼` ···語言 代碼塊 ··· |
反引號,也就是tab鍵上面那個符號 |
水平線 |
--- *** ___ |
3個或以上 |
參考資料:
[中文簡單MD語法,簡書] http://jianshu.io/p/q81RER
[一份英文的語法表單,有例子,準確清楚] https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
[貌似是官方文檔的中譯版本,有點過時] http://wowubuntu.com/markdown/
[這是官方文檔,格式好難讀,沒看] http://daringfireball.net/projects/markdown/syntax
GFM
GFM的部分語法,如橫穿等被吸收到新的SM中了。最支持GFM的當然是github,可惜不支持實時預覽。當然了,其中還包括一些爲github專門設計的語法,如表情之類的,這裏就不做介紹,參考文獻中有。
任務列表 |
- [x] 任務描述 - [x] 任務描述 - [ ] 任務描述 |
顯示類似todolist的小框,[x]和[ ]分別表示完成和未完成 |
語法高亮 |
代碼會根據語言高亮顯示 |
|
自動鏈接 |
不需要加<> |
自動識別URL並轉化顯示 |
_失效 |
_文本_不再表示強調 |
避免歧義 |
新的換行 |
換行符就是換行 |
不需要兩個空格了 |
表格 |
| Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 |
Markdown | Less | Pretty --- | --- | --- *Still* | `renders` | **nicely** 1 | 2 | 3 |
首行自動強調顯示 第二行表示居左/中/右格式 |
參考資料
[github help文件:GitHubFlavored Markdown] https://help.github.com/articles/github-flavored-markdown
[GFM和SM(StandardMarkdown)的區別,簡書,中文] http://jianshu.io/p/cfPxyr
內聯html
以後補充。