Markdown语法手册

一、什么是Markdown

**Markdown**是Aaron Swartz[^AS]跟John Gruber于2004年共同设计的排版语言,是一种轻量级的「标记语言」。

请不要被「标记」、「语言」所迷惑,Markdown的语法十分简单。常用的也不超过十个,这种相对于更为复杂的HTML标记语言来说,Markdown可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果!

二、Markdown可以做些什么

1. 制作一份待办事宜

  •  了解Markdown
  •  学习Markdown语法并实践
  •  找一个合适的跨平台且能同步的Markdown书写方案
  •  制作一份Markdown语法手册

2. 书写一个质能守恒公式

$E=mc^2$

3. 高亮一段代码

@requires_authorization
class SomeClass:
    pass

if__name__=='__main__':
    # A comment
    print 'hello world'

4. 高效绘制流程图

st=>start: 今晚干什么
cond=>condition: 会下雨吗?
op=>operation: 出去唱K
op2=>operation: 在家看电视
e=>end: 睡觉

st->cond
cond(yes)->op2->e
cond(no)->op->e

5. 高效绘制序列图

小明->如花:嗨,如花MM,约吗?
Note left of 小明:请用"不约而同"造句
如花-->小明:不约儿童!

6. 绘制表格

项目

价格

数量

电脑

¥4000

1

手机

¥2000

5

管线

¥15

20

三、基础语法

1. 斜体和粗体

使用 *** 表示斜体和粗体。

这是*斜体*,这是**粗体**。
三个星号用来表示***斜粗体***。

2. 设置标题

Markdown最多支持6个级别的标题设置。分级标题有两种设置方式:

第一种,是在文字下方加横线;

这是一级标题
===

这是二级标题
---

第二种,可以选择在行首加井号表示不同级别的标题(H1~H6)。建议在井号后加一个空格,这是最标准的Markdown书写方式。

# 1号标题
## 2号标题
### 3号标题

3. 外链接

使用[描述](链接地址)为文字增加外链接。

示例:

[百度](http://wwww.baidu.com)一下,你就知道!

效果:

百度一下,你就知道!

4. 无序列表

使用*+-均可以表示无序列表。

示例:

* 我是无序列表项一
+ 我是无序列表项二
- 我是无序列表项三

效果:

  • 我是无序列表项一
  • 我是无序列表项二
  • 我是无序列表项三

5. 有序列表

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

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

6. 文字引用

使用>表示文字引用。

示例:

> 有个小孩叫小明,小明没听见。

效果:

有个小孩叫小明,小明没听见。

7. 行内代码块

使用`代码`表示行内代码块。

示例:

这是设置字体颜色的html代码`<font color="red">红色</font>`。

效果:

这是设置字体颜色的html代码<font color="red">红色</font>

8. 代码块

使用四个缩进空格或```表示代码块。

<table>
  <tr>
    <th rowspan="2">姓名</th>
    <th>小明</th>
    <th>如花</th>
    <th>王尼玛</th>
  </tr>
</table>

9. 插入图像

使用![描述](图片链接地址)插入图像。

示例:

![百度](http://okdlccb4a.bkt.clouddn.com/QQ%E5%9B%BE%E7%89%8720170330181242.png)

效果:

四、高级语法

1. 内容目录

在文中任意位置输入[TOC]即可显示全文内容的目录结构。效果同本文开头的目录结构显示。

2. 删除线

使用~~表示删除线。

~~这是一段错误的文本。~~

3. 注脚

使用[^keyword]表示注脚。必须在文末写出注脚的内容,才能正确显示注脚样式效果。

示例:

这是一个注脚[^footnote]的样例。
这是第二个注脚[^footnote2]的样例。

[^footnote]: 第一个注脚
[^footnote2]: 第二个注脚

效果:

这是一个注脚[^footnote]的样例。 这是第二个注脚[^footnote2]的样例。

4. LaTeX公式

使用$表示行内公式。

示例:

质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表示。

效果:

质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表示。

使用$$表示整行公式。

示例:

$$\sum_{i=1}^n a_i=0$$
$$f(x_1,x_2,\ldots,x_n)=x_1^2+x_2^2+\cdots+x_n^2$$

效果:

$$\sum_^n a_i=0$$

$$f(x_1,x_2,\ldots,x_n)=x_1^2+x_2^2+\cdots+x_n^2$$

6. 加强的代码块

使用```,可以支持41种编程语言的语法高亮显示。

示例:

​```python
@requires_authorization
def somefunc(param1='',param2=0):
	'''A docstring'''
	if param1 > param2: # interesting
		print 'Greater'
	return (param2 - param1 + 1) or None
	
class SomeClass:
	pass
	
>>> message = '''interpreter
... prompt'''
​```

效果:

@requires_authorization
def somefunc(param1='',param2=0):
	'''A docstring'''
	if param1 > param2: # interesting
		print 'Greater'
	return (param2 - param1 + 1) or None
	
class SomeClass:
	pass
	
>>> message = '''interpreter
... prompt'''

7. 流程图

绘制流程图以flow开始。

流程图的语法大体分为两段:第一段用来定义元素,第二段用来连接元素。

定义元素阶段的语法是:tag=>type: content:>url

tag就是一个标签(可以自定义,也可以理解成变量名),在第二段连接元素时用。

type是这个标签的类型。有6种基本类型,分别为:start、end、operation、subroutine、condition、inputoutput。

content就是在框中要写的内容,中英文均可,但有一点需要特别注意,就是type后的冒号与文本之间一定要有一个空格,没空格会出问题。

url就是一个链接,与框中的文本相绑定。

连接元素阶段的语法就简单多了,直接用->来连接两个元素(condition类型有yes和no两个分支)。

示例:

​```flow
ihq=>start: 我有一个问题
dm=>condition: 弄明白了吗?
my=>operation: 百度一下,你就知道!:>http://www.baidu.com
dl=>operation: 继续装懂!
e=>end: 结束

ihq->dm
dm(yes)->dl->e
dm(no)->my->e
​```

效果:

ihq=>start: 我有一个问题
dm=>condition: 弄明白了吗?
my=>operation: 百度一下,你就知道!:>http://www.baidu.com
dl=>operation: 继续装懂!
e=>end: 结束

ihq->dm
dm(yes)->dl->e
dm(no)->my->e

8. 序列图

绘制序列图以sequence开始。

示例:

​```seq
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good, thanks!
​```

效果:

Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good, thanks!

9. 表格支持

示例:

|日期|3月1日|3月2日|3月3日|
|---|---|:---:|---:|
|值日生|小明|如花|王尼玛|

效果:

日期

3月1日

3月2日

3月3日

值日生

小明

如花

王尼玛

注意:第二行用来表示字体显示的位置。-表示靠左,-:表示靠右,:-:表示居中。

10. HTML标签

可以在Markdown语法中嵌套HTML标签。

示例:

**<font color="#F46969">我是一行红色*加粗*的文字。</font>**

效果:

我是一行红色加粗的文字。

11. 待办事宜/Todo列表

使用带有[][x](未完成或已完成)项的列表语法可以撰写一份待办事宜列表,并且支持子列表嵌套以及混用Markdown语法。

示例:

- [] **5月欧洲旅游**
	- [x] 在预定好的米其林享用星级大餐
	- [] 在迷宫般的小巷里找到最受本地人欢迎的秘密小馆
	- [] 去夜市大快朵颐

效果:

  • 5月欧洲旅游
  •  在预定好的米其林享用星级大餐
  •  在迷宫般的小巷里找到最受本地人欢迎的秘密小馆
  •  去夜市大快朵颐

五、结束语

Markdown因其易学性和便捷性,受到越来越多人的欢迎。

使用Markdown进行排版可以大大地节省你在排版中所花费的时间,让你更加专注于写作。

一旦你开始使用它,你一定会深深爱上它!

[^AS]: Aaron Swartz是一个富有传奇性的人物。他曾经利用麻省理工学院网络,伪造身份,侵入收费不菲的JSTOR论文数据库,总共下载480万篇论文,以供公众免费下载,他也因此被联邦政府起诉逮捕。他于2013年自杀,年仅27岁。 [^footnote]: 第一个注脚 [^footnote2]: 第二个注脚

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券