tags: Hexo;Github;Markdown
categories: 前端工具
歡迎點擊我的博客原文
Markdown 是一種輕量級的標記語言,其用簡單的標記語法便可達到排版的目的,其可以使我們更加專注于內容的編寫,而不需過多關注排版。本文主要整理了 Markdown 中的常用的標記語法,以便自己與他人以后查用。
Hexo是基于Github的博客平臺,Github中的文本格式是.md,那么用Hexo寫博客也必然要用到Markdown。本文首先帶你選擇適合你的Markdown編輯器(推薦Atom),然后對Markdown語法做一簡要介紹。
Markdown編輯器
支持Markdown的編輯器有好多,功能也不完全一致,有的是用來進行基本的寫作,有的是用來寫代碼的,有的甚至只是博客平臺配套的編輯器。想了解好用的Markdown編輯器,可以點開鏈接。
根據我個人的需求,我使用Atom作為本地Markdown編輯器,使用簡書發布文章,與我的博客同步更新。這里要安利一波Atom!
Atom 介紹
Atom,Github出的編輯器,支持各種編程語言,擁有和Sublime類似的豐富插件,同時結合了Markdown本地預覽功能,打開github倉庫還能顯示各文件的狀態。除此之外,顏值還高啊!默認高亮就很好看,深深吸引了顏控的我。Atom簡直就是一款取代Sublime的神器!總而言之,作為一個前端程序員,日常的敲代碼,用Git和Github版本控制,Markdown寫博客,有Atom就夠了!
Atom預覽Markdown快捷鍵:Ctrl+Shift+M
關于Atom的用法,不屬于本文內容,這里只附上鏈接:
Markdown語法介紹
- 獻給寫作者的 Markdown 新手指南:必推的小白入門教程,跟著做一遍就可以上手寫文章啦~
- Markdown 語法說明(簡體中文版):進階教程,分為快速入門和完整語法說明兩版,給web開發者的Markdown教程,需要有HTML基礎
- 本文的Markdown語法介紹
段落元素
1、段落與換行
Markdown 中的段落指連續的一段文字,編寫時段落之間用至少一個空行隔開,段落內多個空格將被視為一個空格,段首不支持縮進。
如果想要在顯示時顯示多個空行,可以插入 <br/>
來實現,注意的是,插入的 <br/>
應與前后的段落中間至少空一行。
2、標題
Markdown 支持兩種類型的標題。
//類型 1
這是一級標題
==========
這是二級標題
----------
//類型 2
# 這是一級標題
## 這是二級標題
...
###### 這是六級標題
從上面可以看出類型 1 是在標題下面插入 =
或者 -
來標識標題等級,但局限是其只能表示兩個級別的標題。
類型 2 是在標題前面插入 1 - 6 個 # ,表示 6 個等級的標題,這是比較推薦的用法。
3、引用
Markdown 中使用 >
來引用。我們可以在一段文字中的每行開頭加上 >
來表示一段引用文字,也可以只在一段文字的開頭插入一個 >
來表示,如下面的 1、2 兩種方式:
//方式 1
> 這是一句話
> 這是第二句話
//方式 2
> 這是一句話
這是第二句話
Markdown 支持使用不同數量的 >
表示嵌套引用。
> 這是外層的引用
> > 這是內層的引用
4、無序列表
無序列表使用 -
、 +
或 *
來作為標記。
- 第一項
- 第二項
- 第三項
上面的 -
可以用 +
、 *
替換。需要注意的是,-
等符號與后面的文字至少空一格空格。
5、有序列表
有序列表使用數字和緊挨著的點號表示。
1. 第一項
2. 第二項
3. 第三項
同無序列表一樣,標記符號與后面的文字至少空一格空格。但編輯時的數字對顯示無影響。
2. 第一項
6. 第二項
1. 第三項
上面的例子與前一個顯示的結果完全一致,但建議編輯時按照數字順序。
列表
有序列表和無序列表的每一項中均可嵌套其他列表;
在列表項之間要插入段落時,這時需要將列表項之間的段落縮進 4 個空格;
使用
1\.
來輸出1.
;
6、代碼區塊
縮進 4 個空格,需要注意的是,每行代碼都需要至少縮進 4 個空格,不能像段落一樣采用首行標記的偷懶寫法,一個代碼區會一直持續到沒有縮進 4 個空格的那一行。
也可以用一對三個連續的撇號 `
來包裹代碼段。
```
code
```
有的解釋器還能根據代碼的語言從而給代碼加上語法高亮。
```javascript
function func() {}
```
7、分割線
使用三個及以上的 *
、 -
或 _
來表示一個分割線,符號不能混用,符號之間可以插入多個空格。需要注意的是,使用 -
來插入分割線時需要與上一個段落至少空一行,否則 Markdown 會將上一行文字解釋為二級標題。
8、表格
表格是 Markdown 比較復雜的一種表示。
| Table | Col1 | Col2 |
| ----- |:----:| ----:|
| Row1 | 1-1 | 1-2 |
| Row2 | 2-1 | 2-2 |
| Row3 | 3-1 | 3-2 |
上面第二行中的點代表對齊方式,分別是默認(居右)、居中、居左。
行內元素
9、超鏈接
Markdown 中有三種方式實現超鏈接。
//方式 1
[百度](http://www.baidu.com)
//方式 2
[百度][Baidu-url]
[Baidu-url]: http://www.baidu.com
方式 1 較為常用,也可以為鏈接的文字加上提示文字,只要在括號中超鏈接加上空格后添加提示內容即可。
[百度](http://www.baidu.com "這是提示文字")
方式 2 由鏈接文字和鏈接地址組成,不同的是兩者均由 []
包裹。鏈接地址的格式為:
- 方括號,里面輸入鏈接地址;
- 緊接著是一個冒號;
- 冒號后面至少一個空格;
- 鏈接地址;
- 若有提示文字,空格后用引號或者括號包裹提示文字。
下面是完整示例:
[百度][Baidu-url]
[Baidu-url]: http://www.baidu.com "這是提示文字"
第三種方式是用 <>
來包裹 URL。
//方式 3
<http://www.baidu.com>
10、加粗和斜體
Markdown 使用 *
和 _
來表示粗體和斜體。
//加粗
**這是加粗文字**
__這也是加粗文字__
//斜體
*這是斜體文字*
_這也是斜體文字_
被偶數個 *
或 _
包裹的文字顯示加粗效果,被奇數個包裹的為傾斜效果。
需要注意的是,*
和 -
要成對出現,不能混合使用,也不能只出現一個。同時,標識符號要與標識的文字緊挨著,符號與符號之間、符號文字之間不能有任何空格。
11、代碼
使用 `
(撇號) 來包裹一小段代碼。
`Hello world.`
若想在代碼中添加撇號,可以使用多個撇號包裹里面需要添加的撇號,但注意里面的連續的撇號數量不能超過外面的數量。
//顯示一個撇號
`` ` ``
12、圖片
圖片的插入方式跟超鏈接前兩種插入方式類似。
//方式 1

//方式 2
![如果圖片不能顯示,就顯示這段文字][Image-url]
[Image-url]: 圖片url "這是提示文字"
反斜杠 \
我們經常需要在文章中插入一些特殊符號,而這些符號恰好是前面所講的標識符號,可以在特殊符號前插入 \
來直接顯示符號,而不讓 Markdown 來將其解釋為標識符號。
Markdown 支持以下這些符號前插入 \
而顯示其本來樣子:
\ 反斜線
` 反引號
* 星號
_ 底線
{} 花括號
[] 方括號
() 括弧
# 井字號
+ 加號
- 減號
. 英文句點
! 驚嘆號
拓展
其實,市場上有很多的 Markdown 解釋器,它們大都能支持上面所講的語法,但呈現出的樣式往往不一。另外,不同的解釋器還能支持其他自己定義的語法,比如 Github 還能支持 emoji。下面再著重介紹 Github 支持的幾個 Markdown 語法。不過需要注意的是,有些語法只能在 issue 或者 pull request 上使用,這個在后面講每個語法時會標記(約定:“通用”表示在 Github 任何地方可以使用的語法,“特殊”表示只能在 issue 或者 pull request 上使用)。
語法高亮(通用)
上面說過,有的解釋器是能夠顯示語法高亮的,Github 就可以。
任務列表(通用)
- [ ] task one
- [x] task two
用法跟普通列表的用法差不多,只不過在每一項文字前面加了 [ ]
或者 [x]
。[ ]
中間有且只有一個空格,表示未完成,另一個表示已完成。
表格(通用)
Github 支持更簡單的 table 語法。
First Header | Second Header
------------ | -------------
Content from cell 1 | Content from cell 2
Content in the first column | Content in the second column
表頭與項用一排 -
分隔開,每一列用 |
分隔開。
SHA 引用(特殊)
每一次 commit 都會產生一個 id,用 @id
的方式可以鏈接到某個項目的特定的 commit。比如用 jquery/jquery@1b9575b9d14399e9426b9eacdd92b3717846c3f2
就能鏈接到 jquery 的一次 commit 記錄上。
issue 引用(特殊)
用 #1
來引用當前 repo 的第一個 issue,也可以用 jquery/jquery#1
引用 jquery 的第一次 issue。
@(特殊)
用 @
來提醒目標用戶。比如 @CompileYouth
可以 @ 到我。
刪除符號(通用)
用連續兩個 ~
包圍的詞會被加上刪除符。比如 ~~This is removed~~
。
Emoji(通用)
Github 比較有意思的是可以支持 emoji。比如 :smile:
表示笑臉等等,具體可以查看 Emoji Cheat Sheet
詳細信息可以查看官方文檔。最后 po 兩張 Github 官方推薦的 Markdown Cheat Sheet:通用語法,Github 支持語法