-
markdown
鎖定
Markdown 是一種輕量級標記語言,創始人為約翰·格魯伯(John Gruber)。 它允許人們使用易讀易寫的純文本格式編寫文檔,然後轉換成有效的 XHTML(或者HTML)文檔。這種語言吸收了很多在電子郵件中已有的純文本標記的特性。
由於 Markdown 的輕量化、易讀易寫特性,並且對於圖片,圖表、數學式都有支持,許多網站都廣泛使用 Markdown 來撰寫幫助文檔或是用於論壇上發表消息。 如 GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、簡書等,甚至還能被使用來撰寫電子書。
- 外文名
- Markdown
- 別 名
- MD
- 特 點
- 輕量化、跨平台、易讀易寫
- 文件後綴名
- .md, .markdown
- 開發者
- John Gruber
markdown優勢
- 用於編寫説明文檔,以“README.md”的文件名保存在軟件的目錄下面。
- Markdown可以快速轉化為演講PPT、Word產品文檔甚至是用非常少量的代碼完成最小可用原型。
markdown發展歷程
John Gruber在2004年創造了Markdown語言,在語法上有很大一部分是跟亞倫·斯沃茨(Aaron Swartz)共同合作的。這個語言的目的是希望大家使用“易於閲讀、易於撰寫的純文字格式,並選擇性的轉換成有效的XHTML(或是HTML)”。 其中最重要的設計是可讀性,也就是説這個語言應該要能直接在字面上的被閲讀,而不用被一些格式化指令標記(像是RTF與HTML)。 因此,它是現行電子郵件標記格式的慣例,雖然它也借鑑了很多早期的標記語言,如:Setext、Texile、reStructuredText。
標準化
Markdown已經成為典型的轉換為HTML的非正式規範
[1]
和參考實現。隨着時間的推移,出現了許多Markdown實現。人們開發這些主要是由於在基本語法之上需要額外的功能 - 例如表格,腳註,定義列表(技術上的HTML描述列表)和HTML塊內的Markdown。其中一些行為偏離了最開始的參考實現。與此同時,非正式規範中的一些含糊不清引起了人們的注意
[2]
。這些問題促使Markdown解析器的一些開發人員努力實現標準化。
2016年3月發佈了RFC 7763和RFC 7764。RFC 7763 從原始變體引入了MIME類型 text/markdown。RFC 7764討論並註冊了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等變體。
[3]
CommonMark
從2012年開始,包括Jeff Atwood和John MacFarlane在內的一羣人啓動了標準化工作。
[4]
一個社區網站旨在記錄可用於文檔作者和開發人員的各種工具和資源,以及各種markdown實現的實現者。
[5]
2014年9月,Gruber反對在這一工作中繼續使用“Markdown”這個名字,其被更名為CommonMark。
[6]
CommonMark發佈了規範、參考實現和測試包的幾個版本,並計劃在2018年宣佈最終的1.0規範和測試包。
[7]
GFM
2017年,GitHub發佈了基於CommonMark的GitHub Flavored Markdown(GFM)的正式規範。
[8]
除了表格、刪除線、自動鏈接和任務列表被GitHub規範作為擴展添加之外,它遵循CommonMark規範。
[9]
GitHub還相應地更改了其站點上使用的解析器,這要求更改某些文檔 - 例如,GFM要求創建標題的哈希符號由空格字符分隔。
Markdown Extra
Markdown Extra是一種輕量級標記語言,基於在PHP(最初)、Python和Ruby中實現的Markdown。它添加了普通Markdown語法不具備的功能。內容管理系統支持Markdown Extra,例如Drupal,TYPO3和MediaWiki。
它為Markdown添加了以下功能:
- HTML塊內的markdown標記
- 具有id / class屬性的元素
- 圍欄代碼塊
- 表格
- 定義清單
- 腳註
- 縮寫
markdown語法
常用語法
Markdown語法 | 詳解 | 快捷鍵 | 效果 |
---|---|---|---|
*斜體* | 無 | Ctrl/⌘ + I | 斜體 |
**粗體** | 無 | Ctrl/⌘ + B | 粗體 |
# 一級標題 | "#"後需加空格 | 無 | 無 |
## 二級標題 | 以此類推三級標題為三個“#” | 無 | 無 |
[鏈接](http://a) | “[ ]”間為顯示的超文本 | Ctrl/⌘ + K | |
![圖片](http://url/a.png) | “[ ]”間為圖片名 | Ctrl/⌘ + Shift + I | |
“ > ”引用 | “ > ”後需加空格 | Ctrl + Q | 無 |
* 無序列表 | 無 | Ctrl + L | 無 |
1. 有序列表 | 無 | 無 | 無 |
--- | 水平分割線 | 無 | ———— |
`內聯代碼` 的使用 | 無 | Ctrl/⌘ + Shift + K | 無 |
``` 代碼塊 ``` | 無 | 無 | 無 |
顏色代碼 | 無 | 無 | 無 |
***斜體+粗體*** | 無 | 無 | 斜體+粗體 |
居中格式 | 文字 | 無 | 文字 |
自動換行 | 例:12345 67890 | Enter | 12345 67890 |
輸入框 | 例:1234 | 無 | 輸入框內的1234 |
顏色第二種 | 文字 | 無 | 無 |
文字大小 | 文字 | 無 | 無 |
字體 | 無 | 無 | 無 |
LaTex公式語法
LaTex公式語法(3張)
markdown編輯器
- Windows
Typora、Simplenote、Laverna、Boostnote、Inkdrop、Cmd Markdown、Github、馬克飛象、Yu Writer、看雲、有道雲筆記、為知筆記、螞蟻筆記、Visual Studio Code
[10]
- MacOS
- Linux
- Chromium內核瀏覽器插件
Markdown Preview、Markdown Here
- Android
Draft、JotterPad X、堅果雲Markdown
- iOS
Byword、simplenote、堅果雲Markdown
RStudio是一個用於R的IDE,為稱為sundown的Markdown變體提供了C++包裝函數
- 參考資料
-
- 1. Markdown: Syntax .DaringFireball[引用日期2020-07-22]
- 2. GitHub Flavored Markdown Spec .GitHub[引用日期2020-07-22]
- 3. Markdown Variants .iana[引用日期2020-07-22]
- 4. The Future of Markdown .codinghorror[引用日期2020-07-22]
- 5. Markdown Community Page .GitHub[引用日期2020-07-22]
- 6. Standard Markdown is now Common Markdown .CODING HORROR[引用日期2020-07-22]
- 7. CommonMark .CommonMark[引用日期2020-07-22]
- 8. GitHub Flavored Markdown Spec .GitHub[引用日期2020-07-22]
- 9. Redirecting&hellip .GitHub[引用日期2020-07-22]
- 10. Visual Studio Code - Code Editing. Redefined .Visual Studio Code官網[引用日期2022-09-17]