Markdown语法

用Markdown写文章是程序员的最爱,那什么是Markdown?

Markdown

Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯和亚伦·斯沃茨。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML文档”。 ——维基百科

Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、MultiMarkdown、 Maruku等。

你可以使用vim工具直接编辑md文件,也可以用记事本打开md文件编辑你的文章,也可以Markdown的编辑器编写,有很多在线的编辑器,还有不少客户端的编辑器,我是Mac系统,用的一个叫 Mou 的编辑器,还比较好使。Windows系统下,你可以自己找一下,应该也会有很好用的编辑器。

先简单介绍一下,Markdown的语法,具体怎么用,我相信大家一看例文就马上明白了。

斜体

代码

1
*斜体* 或者 _斜体_

效果

斜体

粗体

1
 **粗体**  或者   __粗体__

效果

**粗体

标题

可以在标题内容前输入特定数量的’#‘来实现对应级别的HTML样式的标题。

1
2
3
4
5
6
7

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

一级和二级标题还有一种写法:

1
2
3
4
5

一级标题
=================== 
二级标题
--------------------

换行

行尾输入两个或以上的空格,然后回车。或者行尾加上<br>。

引用

 引用只需要在被引用的内容段落开头加上右尖括号>即可。你可以选择只在开头加一个。也可以在每行前面都加一个,效果是一样的。

1
2
3
4
5
6

 > 这一整段的内容都会作为一个HTML的引用元素。
 引用元素是会自动优化排版的(reflowable,可回流)。
 你可以任意地将引用的内容包含进来,然后所有这些都会
 被解析成为单独一个引用元素。

效果

这一整段的内容都会作为一个HTML的引用元素。 引用元素是会自动优化排版的(reflowable,可回流)。 你可以任意地将引用的内容包含进来,然后所有这些都会 被解析成为单独一个引用元素。

 引用可以嵌套。如果要在一个引用里插入一个引用,可以用两个>开头。依此类推,根据嵌套层次加相应数量的符号。

1
2
3
4
5
6
7

 > 这是一个引用。这是第一行
 这是第二行。
 >> 这是一个嵌套的引用。这是第一行。
 这是第二行
 > 
 > 外层引用的第三行。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的>可以有可以没有。

效果

这是一个引用。这是第一行 这是第二行。

这是一个嵌套的引用。这是第一行。 这是第二行

外层引用的第三行。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的>可以有可以没有。

链接

链接可以在行内插入:

链接文字

1
[Markdown](http://zh.wikipedia.com/wiki/Markdown)

效果

Markdown

水平分区线

 要生成水平分区线,可以在单独一行里输入3个或以上的短横线、星号或者下划线实现。短横线和星号之间可以输入任意空格。以下每一行都产生一条水平分区线。

1
2
3
4
5
 * * *
 ***
 *****
 - - -
 ---------------------------------------

效果


图片

1
![Foo](http://i.weather.com.cn/images/cn/life/2017/04/11/11141533DF572FBBA092E37E6E843C656C318272.jpg)

效果

Foo

列表

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
无序列表
 使用 *,+,- 表示无序列表。

 + 无序列表项 一
    - 子无序列表 一
    - 子无序列表 二
        * 子无序列表 三
 + 无序列表项 二
 + 无序列表项 三
有序列表
 使用数字和点表示有序列表。


 1. 有序列表项 一
    1. 子有序列表项 一
    2. 子有序列表项 二
 2. 有序列表项 二
 3. 有序列表项 三

效果

无序列表

使用 *,+,- 表示无序列表。

  • 无序列表项 一
    • 子无序列表 一
    • 子无序列表 二
      • 子无序列表 三
  • 无序列表项 二
  • 无序列表项 三

有序列表

使用数字和点表示有序列表。

  1. 有序列表项 一
    1. 子有序列表项 一
    2. 子有序列表项 二
  2. 有序列表项 二
  3. 有序列表项 三

代码

行内代码快:代码用`包括 效果

代码

代码块及代码高亮:  在4个`后加上语言类型,高亮显示代码

(4个`)(语言类型)

代码

(4个`)

Markdown语法进阶

字符转义

Markdown中的转义字符为\,可以转义的有:

\ 反斜杠
` 反引号
* 星号
_ 下划线
{} 大括号
[] 中括号
() 小括号
# 井号
+ 加号
- 减号
. 英文句号
! 感叹号

删除线

使用 ~~ 包括一段话表示删除线。

这是一段错误的文本。

表格

单元格和表头

 使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行:

1
2
3
4
 name | age
 ---- | ---
 LearnShare | 12
 Mike |  32

效果

name age
LearnShare 12
Mike 32

对齐

在表头下方的分隔线标记中加入 :,即可标记下方单元格内容的对齐方式:

1
2
3
:--- 代表左对齐  
:--: 代表居中对齐  
---: 代表右对齐  
left center right
aaaa bbbbbb ccccc
a b c

插入其他内容

 表格中可以插入其他 Markdown 中的行内标记:

1
2
3
4
 |     name     |             URL                |
 | ------------ | ------------------------------- |
 | _Google_     | ![Google](https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png)     |
 | __YouTube__   | [YouTube](https://www.youtube.com/) |

效果

name URL
Google Google
YouTube YouTube

Html 标签

 支持在 Markdown 语法中嵌套 Html 标签

选框

使用带有 - [ ] 或 - [x] (未完成或已完成)

1
2
 - [ ] 未选
 - [x] 选中

效果

  • 未选
  • 选中
Built with Hugo     主题 StackJimmy 设计