1. 程式人生 > >什麼是Markdown,Markdown的基本使用,Markdown入門教程,Markdown標記大全,Markdown語法

什麼是Markdown,Markdown的基本使用,Markdown入門教程,Markdown標記大全,Markdown語法

  對於一個程式設計師來說你除了寫程式碼之外,你可能還需要在CSDN或者部落格園上寫部落格,或者在GitHub上分享原始碼時寫README,那麼Markdown你瞭解嗎。它會大大的方便你的部落格或者文件寫作,並且讓文件看起來更加規整和脈絡清晰。如果你還不是很瞭解Markdown,接著看這篇文章吧,相信你一定會有所收穫。

一、什麼是Markdown

百度百科上是這麼解釋Markdown的:
  Markdown是一種可以使用普通文字編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文字內容具有一定的格式。

簡單的說:
  Mark是標記,down是下,那麼合起來就是標記下,是的,可以簡單的理解為,Markdown是一種為了方便人們使用的標記語言。它是html(超文字標記語言)的一種簡單化。通過使用#號和*號等簡單的符號,來取代相對複雜的html程式碼。而實際上一段用Markdown寫成的文字,在網頁上呈現時,它還是會被翻譯成html程式碼。

  將Markdown翻譯成html有多種方法,不同的人也有不同的實現,同樣的一個標記可能在不同平臺上看起來不一樣。github上有多種不同的開源的程式碼,它們或是js或是python寫成,用來將Markdown轉成html程式碼。很多網站也有他們自己的Markdown語法,其中有相似之處,也有不同的地方,比如github的README.md就是使用Markdown語法寫成的,csdn和部落格園也有自己的Markdown語法用來方便使用者進行部落格創作。如果你喜歡,你也可以設計自己的Markdown語法,用來在自己的個人部落格網站上使用。

在這裡插入圖片描述

csdn的部落格也是使用Markdown語法的:

在這裡插入圖片描述

二、Markdown的來龍去脈

  Markdown是由Aaron Swartz和Gruber共同設計的,Aaron是一名很放蕩不羈的人,怎麼個放誕不羈呢,來看看他的人生:
  • 14歲參與RSS 1.0規格標準的制訂。
  • 2004年入讀斯坦福,之後退學。
  • 2005年建立Infogami,之後與Reddit合併成為其合夥人。
  • 2010年創立求進會(Demand Progress),積極參與禁止網路盜版法案(SOPA)活動,最終該提案被撤回。
  • 2011年7月19日,因被控從MIT和JSTOR下載480萬篇學術論文並以免費形式上傳於網路被捕。
  • 2013年1月自殺身亡。
  我們的生活能變得越來越好,多虧了這些放蕩不羈的人。

三、Markdown的優點,怎麼理解Markdown

  • 易讀易寫
  • 相容html(Markdown中可以嵌入html程式碼)
  • 跨平臺(這一切都要感謝瀏覽器)
  • 很多網站在用,GitHub, 簡書,Stack Overflow,Apollo,Moodle,Redditgithub, wordpress, csdn, 部落格園等等等
  Markdown和html, css這類語言一樣,算不上程式語言,它們只是人類開發出來的在用來方便在計算機上描述資訊、展示資訊的一種標記語言。html css和Markdown的區別是是html和css更加強大,描述事物更加生動具體,而Markdown則很簡潔(可以理解為Markdown就是把html中常用的標記總結出來簡化使用而已)。

四、Markdown的主要組成

  雖然有很多種Markdown語法的實現,甚至你自己也可以設計屬於你自己的Markdown語法,但是實際上平常使用的主流的平臺上用的語法都是大同小異呢,來一起看看吧。

  • 標題

使用 ==============和----------------------放在一行文字下面標記標題
(多少個=或者-無所謂啦,=標記一級標題就是html中的<h1>,-標記二級標題,就是html中的<h2>)
如
一級標題
=
二級標題
------------
它們看起來就像下面那樣子:

一級標題

二級標題

使用#來形成html中h1 h2 h3...這樣的從大到小的標題,#後面有一個空格
如
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
它們看起來就像下面這樣子:

一級標題

二級標題

三級標題

四級標題

五級標題
六級標題

  • 段落

段落的前後要有空行,形成的樣式就類似於html中的<p></p>那樣,但是段首是不會自己縮排的。

  • 文字樣式

**加粗文字** __加粗文字__

==標記文字==

~~刪除文字~~

*斜體* _斜體_

> 引用文字
> >巢狀引用

H~2~O is是液體。(\~2\~上標)
哈哈哈~[1]

2^10^ 運算結果是 1024。(\^10\^下標)
它們看起來就像下面那樣子:

加粗文字 加粗文字

標記文字

刪除文字

斜體 斜體

引用文字

巢狀引用

H2O is是液體。(~2~下標)
哈哈哈[1]

210 運算結果是 1024。(^10^上標)


  • 程式碼區塊

程式碼區塊顧名思義就是用來寫程式碼的啦,它使用兩組\```(忽略反斜槓)包圍,
這個符號就是英文輸入法情況下tab製表符上面那個按鍵
在程式碼區塊中的文字都會保留原本的縮排格式,也不會自動換行,當超出長度時會顯示一個滑動條,
程式碼區塊的背景顏色也會與普通的背景顏色不同,
同時Markdown語法也會被忽略,這就是我為什麼要把Markdown放在程式碼區塊描述的原因了(也可以
使用\反斜槓忽略符號)。

來一段經典的 helloworld.c吧:
\```
#include <stdio.h>
int main(void){
    printf("hello world!");
}
\```
忽略掉反斜槓,它們看起來就像下面那樣子:
#include <stdio.h>
int main(void){
    printf("hello world!");
}

  • 列表

使用- * + 配合縮排表示列表,類似<ul><li></li></ul> (- * +後面都有空格)
- 大專案1
  * 中專案1
    + 小專案1
    + 小專案2
    + 小專案3
  * 中專案2
- 大專案2
- 大專案3
它們看起來就像下面那樣子:
  • 大專案1
    • 中專案1
      • 小專案1
      • 小專案2
      • 小專案3
    • 中專案2
  • 大專案2
  • 大專案3
使用1. 2. 3. 這樣排佈列表 (.後面有空格)
1. 專案1
2. 專案2
3. 專案3
它們看起來就像下面那樣子:
  1. 專案1
  2. 專案2
  3. 專案3

  • 分割線

使用三個或三個以上的-或者*或者_
如
分割線

---
***
___
分割線
推薦使用-啦,因為不用按shift,它們看起來就像下面那樣子:

分割線




分割線

  • 連結

[這個是連結名](這個是連結網站)
如
[我們和百度達成了戰略合作,只要點選此連結您就能享受我們為您定製的專用搜索服務](http://www.baidu.com)
也可以這麼寫([1]:https://www.csdn.net/前記得加一空行)
這篇文章取自了
[xxxxxx的觀點][1]
[xxxxxx的看法][2]

[1]:https://www.csdn.net/
[2]:https://www.csdn.net/
它們看起來就像下面這樣子:

我們和百度達成了戰略合作,只要點選此連結您就能享受我們為您定製的免費專用搜索服務

xxxxxx的觀點
xxxxxx的看法


  • 圖片

和連結的形式沒有什麼差別,就是在連結之前加一個!,[]中的內容變成了圖片的描述。
csdn支援直接拖曳新增圖片,這個功能還是很讚的。

說實話居中和帶尺寸的圖片還是蠻有用的啦,會讓部落格看上起更加規整。我直接把csdn幫助的抄過來了:

圖片: ![圖片](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg)

帶尺寸的圖片: ![帶尺寸的圖片](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg =30x30)

居中的圖片: ![居中的圖片](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg#pic_center)

居中並且帶尺寸的圖片: ![居中並且帶尺寸的圖片](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg#pic_center =30x30)

它們看起來就像下面這樣子:

圖片: Alt

帶尺寸的圖片: Alt

居中的圖片: Alt

居中並且帶尺寸的圖片: Alt


  • 反斜槓\ 和 `

反斜槓用於忽略符號,相當於程式語言裡的轉義作用。
如
\# 一級標題
\*加粗不加粗\*
\```
這不是程式碼段
\```
看起來就是迴歸本源了

# 一級標題
*加粗不加粗*
```
這不是程式碼段
```

`這個符號就是英文輸入法情況下tab製表符上面那個按鍵,
它的作用就是用來標記,csdn這裡指的是單行程式碼

如
`(lambda x, y: x+y)(1, 2)`
它看起來就像下面那樣子:

(lambda x, y: x+y)(1, 2)


五、最後

   恭喜你看到這兒已經把這篇文章看完了,上述的Markdown語法並沒有包含全部的Markdown語法,但基本上已經通用的常用的語法介紹完了(上面提到的多個平臺都支援這些語法)。雖然Markdown語法確實很簡單,但是想要熟練的使用還是平時要多寫寫部落格啊。


歡迎關注我的部落格,一起交流探討和學習。
您有什麼建議歡迎留言評論~

最後點個贊吧~