世界今亮點!程序員要用MarkDown來創(chuàng)作文章

2022-12-19 19:23:23 來源:51CTO博客

前言:Markdown(簡稱MD)語言常用于編寫開源代碼的Readme說明。如今越來越多的人使用Mardown來寫作,原因是它簡單易用。?


1.歷史?


1.1 發(fā)明?

2004年,John Gruber創(chuàng)造了MD語言,部分和Aaron Swartz合作而成,Aaron Swartz是一位天才程序員。John Gruber的目的是期望推出“易于閱讀、易于撰寫的純文字格式,并選擇性的轉(zhuǎn)換成有效的XHTML(或是HTML)”。MD語言最重要的設(shè)計理念是“可讀性”,因為HTML和RTF這種復(fù)雜標記語言必須依賴瀏覽器,否則直接閱讀的話會被眾多標簽影響。?


(資料圖片僅供參考)


1.2 流行?

2008年,Github 使用 Markdown 作為默認的 Readme 文件編寫規(guī)范,并提供了一套渲染規(guī)范。從此MD語言流行起來。?


1.3 標準化?

2004 年末,Markdown發(fā)布規(guī)范1.0.1,這也是目前流行版本。?

2012年開始,包括Jeff Atwood和John MacFarlane在內(nèi)的一群人啟動了標準化工作。?

2014年9月,Gruber反對在這一工作中繼續(xù)使用“Markdown”這個名字,其被更名為CommonMark。?

2016年,標準化組織IETF發(fā)布了RFC 7763和RFC 7764。RFC 7763 從原始變體引入了MIME類型 text/markdown。RFC 7764討論并注冊了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等變體。?

2017年,GitHub發(fā)布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式規(guī)范。?


1.4 變種?

除了上面提到的CommonMark外,另外一個變種是Markdown Extra,最初用于PHP,后來又被Python和Ruby引入,諸如Drupal等內(nèi)容管理系統(tǒng)也在使用,Markdown Extra在PHP中具體引入時間,目前還不可考。?


2.常用語法?

MD語言的語法非常簡單,這才讓MD語言可以快速入門,甚至非程序員也能簡單使用。?


2.1 標題?

支持兩種風格:?


2.1.1 SeText 風格?

文章標題下一行使用三個等號。章節(jié)標題下一行使用三個減號。?

例如:?

這是整篇文章的題目?===?這是一個章節(jié)題目?---

2.1.2 Atx風格?

可以使用多個井號來定義標題。井號放在標題前面,標題和井號之間使用空格隔開。一個井號表示一級標題,兩個井號表示二級標題,以此類推到六級標題。?

例如:?

# 這是一個一級標題?## 這是一個二級標題?### 這是一個三級標題?#### 這是一個四級標題?##### 這是一個五級標題?###### 這是一個六級標題

2.2 列表?


2.2.1 有序列表?

在列表項之前放置:數(shù)字+點符號。?

例如:?

1. 項目1?2. 項目2?3. 項目3

2.2.2 無序列表?

使用星號、加號或者減號。?

例如:?

### 無序列表?#### 使用星號生成無序列表?* 項目1?* 項目2?* 項目3?#### 使用加號生成無序列表?+ 項目1?+ 項目2?+ 項目3?#### 使用減號生成無序列表?- 項目1?- 項目2?- 項目3

2.3 正文、段落、換行和縮進?


2.3.1 正文?

沒有任何標記的文字就是正文。?


2.3.2 段落?

段落前后使用空行來標識。?


2.3.3 換行?

在行尾加兩個空格。?


2.3.4 縮進?

沒有單獨標簽,其實英文一般不縮進。中文就用兩個空格標識即可。?


2.4 分割線、輔助線、強調(diào)和字體?


2.4.1 分割線?

有三種:三個星號,三個減號,或者三個下劃線。效果相同。?

例如:?

### 下面是三類分割線?使用「星號」作為分割線?***?使用「減號」作為分割線?---?使用「下劃線」作為分割線?___

2.4.2 輔助線?

前后都使用兩個波浪號可以加中劃線效果。注意,下劃線不直接支持,可以借用HTML的標簽,但下劃線實際上可以不用的,使用下一節(jié)的強調(diào)語法即可。?

例如:?

### 中劃線語法?這是一個刪除線?~~這是一條刪除線~~?當刪除線內(nèi)部緊跟 "空格" 時,刪除線效果會失效。?~~有效的刪除線~~?~~失效的刪除線 ~~?~~ 失效的刪除線 ~~?~~ 失效的刪除線~~

2.4.3 強調(diào)?

使用一個星號或者下劃線把內(nèi)容括起來就可以實現(xiàn)斜體。?

使用兩個星號或者兩個下劃線把內(nèi)容括起來就可以實現(xiàn)斜體。?

例如:?

### 強調(diào)語法?- 斜體的演示?*用星號表示的斜體*?_用下劃線表示的斜體_?- 粗體的演示?**用星號表示的粗體**?__用下劃線表示的粗體__

2.4.4 字體?

MD語言不直接支持字體修改,需要借用HTML的標簽。實際上,對于一般創(chuàng)作,我們可以不用關(guān)心字體的。?


2.5 代碼塊、引用和行內(nèi)代碼?


2.5.1 代碼塊?

程序員一般最關(guān)注代碼塊語法:在行首使用連續(xù)四個空格。?

例如:?

#### 使用空格定義代碼塊?      pubic static void main(String[] args) {    System.out.println("Hello world");?  }

2.5.2 引用?

在行首加入大于號表示引用。引用支持嵌套,最大可以到7層。引用里面也可以使用加粗、代碼塊、列表等語法。?

例如:?

> 走自己的路,讓別人說去吧。 ?


2.5.3 行內(nèi)引用?

行內(nèi)引用的用途之一是定義行內(nèi)代碼。使用反引號來把內(nèi)容括起來,就能實現(xiàn)行內(nèi)引用。?

例如:?

#### 定義行內(nèi)代碼?行內(nèi)的 html 代碼:`標題`

2.6 超級鏈接和圖片?


2.6.1 超級鏈接?

使用中括號來實現(xiàn),注意是成對的中括號,鏈接指向的地址使用小括號。語法為:?

[超級鏈接文字](超級鏈接標簽)?

例如:?

#### 聲明超鏈接的細節(jié)?點擊下面的連接將跳轉(zhuǎn)到[百度](https://www.baidu.com/ )首頁

2.6.2 圖片?

圖片語法如下:?

![替換文字](圖片路徑 "標題(可選)") ?

例如:?

#### 插入一張圖片?圖片前的文字。?![](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcontent.jianguoyun.com%2Fwp-content%2Fuploads%2F2019%2F08%2F110057.jpg&refer=http%3A%2F%2Fcontent.jianguoyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1674037306&t=9c3288e38d2daf41e808c1b5c3413da5)?圖片后的文字

3 注意事項和參考資料?


3.1 關(guān)于空格?

MD語言的版本比較多,不同瀏覽器/解釋器處理不同。建議多使用空格隔開標簽和寫作的內(nèi)容。?


3.2 參考資料?

中文版規(guī)范:??http://www.markdown.cn/???

英文版規(guī)范:??https://daringfireball.net/projects/markdown/???

標簽: 這是一個 可以使用 參考資料

上一篇:【天天熱聞】安裝VScode
下一篇:熱資訊!Window下Neo4j安裝教程