Markdown是一種輕量級標記語言,由約翰·格魯伯(John Gruber)創立。它允許人們使用易讀易寫的純文本格式編寫文檔,并將其轉換為有效的XHTML(或HTML)文檔。Markdown吸收了很多電子郵件中已有的純文本標記的特性。由于其輕量化和易讀易寫的特點,以及對圖片、圖表和數學式的支持,許多網站廣泛使用Markdown來編寫幫助文檔或在論壇上發布消息。一些使用Markdown的知名網站包括GitHub、Reddit、Discord、Diaspora、Stack Exchange、OPEN STREET、SourceForge和簡書。此外,Markdown還可以用于撰寫電子書。Markdown最初的描述存在歧義并引發了一些未解答的問題,導致實現版本與原始版本意外或故意地有所不同。為解決這個問題,Markdown的長期貢獻者于2014年發布了CommonMark,這是一個明確的規范和測試套件,用于統一Markdown的實現。
基本用途
Markdown的語法簡潔明了、學習容易,而且功能比純文本更強,因此有很多人用它寫博客。世界上最流行的博客平臺WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown編輯器的博客平臺有Ghost和Typecho等。
用于編寫說明文檔,并且以“README.md”的文件名保存在軟件的目錄下面。
除此之外,由于我們有了RStudio這樣的神級編輯器,我們還可以快速將Markdown轉化為演講PPT、Word產品文檔、LaTeX論文甚至是用非常少量的代碼完成最小可用原型。在數據科學領域,Markdown已經廣泛使用,極大地推進了動態可重復性研究的歷史進程。
使用指南
常用語法
最常見的Markdown格式選項和鍵盤快捷鍵:
標題
標題能顯示出文章的結構。行首插入1-6個 # ,每增加一個 # 表示更深入層次的內容,對應到標題的深度由 1-6 階。
??H1 :# Header 1
??H2 :## Header 2
??H3 :### Header 3
??H4 :#### Header 4
??H5 :##### Header 5
??H6 :###### Header 6
文本樣式
(帶“*”星號的文本樣式,在原版Markdown標準中不存在,但在其大部分衍生標準中被添加)
??鏈接 :[Title](URL)
??加粗 :**粗體**
??斜體字 :*Italics*
??*高亮 :==文本==
??段落 : 段落之間空一行
??換行符 : 一行結束時輸入兩個空格
??列表 :* 添加星號成為一個新的列表項。
??引用 :> 引用內容
??內嵌代碼 : `alert('Hello World');`
??畫水平線 (HR) :--------
??方框:- [ ] -
圖片
使用Markdown將圖像插入文章,你需要在Markdown編輯器輸入 ![]() 。這時在預覽面板中會自動創建一個圖像上傳框。你可以從電腦桌面拖放圖片(.png, .gif, .jpg)到上傳框, 或者點擊圖片上傳框使用標準的圖像上傳方式。如果你想通過鏈接插入網絡上已經存在的圖片,只要單擊圖片上傳框的左下角的“鏈接”圖標,這時就會呈現圖像URL的輸入框。想給圖片添加一個標題,你需要做的是將標題文本插圖中的方括號,e.g;![This is a title]().
腳注
腳注不存在于標準Markdown中。
使用這樣的占位符號可以將腳注添加到文本中:[^1]. 另外,你可以使用“n”而不是數字的[^n]所以你可以不必擔心使用哪個號碼。在您的文章的結尾,你可以如下圖所示定義匹配的注腳,URL將變成鏈接:
寫代碼
添加內嵌代碼可以使用一對回勾號 `alert('Hello World')`.對于插入代碼, Ghost支持標準的Markdown代碼和GitHub Flavored Markdown (GFM) ? 。標準Markdown基于縮進代碼行或者4個空格位:
GFM 使用三個回勾號```
例子
鏈接
列表格式
使用Markdown 引用文本:
編輯器
Windows
Typora、Simplenote、Laverna、Boostnote、Inkdrop、Cmd Markdown、馬克飛象、Yu Writer、看云、有道云筆記、為知筆記、螞蟻筆記、Visual Studio Code、Obsidian
MacOS
Typora、Typed、Ulysses、Falcon
Linux
Typora、原子、GNU Emacs、Remarkable、Haroopad、ReText、UberWriter、Mark My Words、Visual Studio Code
瀏覽器插件
Markdown Preview、Markdown Here
Android
Draft、JotterPad X、堅果云Markdown
iOS
Byword、simplenote、堅果云Markdown
發展歷程
John Gruber在2004年創造了Markdown語言,在語法上有很大一部分是跟亞倫·斯沃茨(Aaron Swartz)共同合作的。這個語言的目的是希望大家使用“易于閱讀、易于撰寫的純文字格式,并選擇性的轉換成有效的XHTML(或是HTML)”。其中最重要的設計是可讀性,也就是說這個語言應該要能直接在字面上的被閱讀,而不用被一些格式化指令標記(像是RTF與HTML)。因此,它是現行電子郵件標記格式的慣例,雖然它也借鑒了很多早期的標記語言,如:Setext、Texile、reStructuredText。
標準化
Markdown已經成為典型的轉換為HTML的非正式規范??和參考實現。隨著時間的推移,出現了許多Markdown實現。人們開發這些主要是由于在基本語法之上需要額外的功能 - 例如表格,腳注,定義列表(技術上的HTML描述列表)和HTML塊內的Markdown。其中一些行為偏離了最開始的參考實現。與此同時,非正式規范中的一些含糊不清引起了人們的注意。這些問題促使Markdown解析器的一些開發人員努力實現標準化。
2016年3月發布了RFC 7763和RFC 7764。RFC 7763 從原始變體引入了MIME類型 文本/markdown。RFC 7764討論并注冊了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等變體。
Common
從2012年開始,包括Jeff Atwood和John MacFarlane在內的一群人啟動了標準化工作。社區網站旨在記錄可用于文檔作者和開發人員的各種工具和資源,以及各種markdown實現的實現者。?2014年9月,Gruber反對在這一工作中繼續使用“Markdown”這個名字,其被更名為CommonMark。??CommonMark發布了規范、參考實現和測試包的幾個版本,并計劃在2018年宣布最終的1.0規范和測試包。
GFM
2017年,GitHub發布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式規范。除了表格、刪除線、自動鏈接和任務列表被GitHub規范作為擴展添加之外,它遵循CommonMark規范。???GitHub還相應地更改了其站點上使用的解析器,這要求更改某些文檔 - 例如,GFM要求創建標題的哈希符號由空格字符分隔。
Extra
Markdown Extra是一種輕量級標記語言,基于在PHP(最初)、Python和Ruby中實現的Markdown。它添加了普通Markdown語法不具備的功能。內容管理系統支持Markdown Extra,例如Drupal,TYPO3和MediaWiki。
它為Markdown添加了以下功能:
語法
Markdown是一種簡單的格式化文本的方法,在任何設備上看起來都很棒。它不會做任何花哨的事情,比如改變字體大小、顏色或類型——只是基本的,使用你已經知道的鍵盤符號。
常用語法
LaTex公式
Markdown亦可用于編輯LaTex公式,可跨平臺編輯、跨環境顯示。
參考資料 >