Markdown,让写作更简单!
记录了常用的Markdown语法,以方便查阅。
主要在简书、Github、Cmd Markdown进行了测试,差异性在文中有所说明,其它平台以实际效果为准!
一、标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
二、表格
|姓名|年龄|技能|
|---|---|---|
|Tom|18|Android|
|Cat|20|iOS|
姓名 | 年龄 | 技能 |
---|---|---|
Tom | 18 | Android |
Cat | 20 | iOS |
三、列表
1、无序列表
可以使用 *
、+
、-
符号来实现,效果相同,注意符号和文字之间有一个空格,例如:
* aaaa
* bbbb
* cccc
- aaaa
- bbbb
- cccc
2、有序列表
使用数字和点号表示有序列表,点号后有一个空格,例如:
1. aaaa
1. bbbb
3. cccc
- aaaa
- bbbb
- cccc
3、混合使用
* 第一章
1. aaaa
2. bbbb
* 第二章
1. cccc
2. dddd
- 第一章
- aaaa
- bbbb
- 第二章
- cccc
- dddd
四、图片
![图片描述](图片网络路径),例如:
![markdown](http://upload-images.jianshu.io/upload_images/1633070-0c025d36e98664c5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
五、链接
[链接描述](链接地址) 或者 <链接地址>,例如:
[github](https://github.com)
<https://github.com>
六、引用
1、一般引用:
> The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
2、引用嵌套:
> The Zen of Python, by Tim Peters
>> Beautiful is better than ugly.
>>> Explicit is better than implicit.
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
七、斜体
*Hello World*
_Hello World_
Hello World
Hello World
八、强调
**Hello World**
__Hello World__
Hello World
Hello World
九、代码
1、单行代码
用连个反引号括起来,例如:
`String str = "Hello World";`
String str = "Hello World";
2、代码块
用一组三个的反引号括起来,可以注明语言类型,例如java、python等等,以实现不同的代码块高亮效果:
```java
代码片段
```
public class User{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
十、中划线
~~Hello World~~
Hello World
十一、分割线
---
***
十二、todo list
在Github、Cmd Markdown上能达到预期效果,以下为Github上的效果:
- [X] step one
- [ ] step two
十三、特殊符号
1、字符转义
由于*
、+
、-
、[]
、()
、_
、>
、#
、~
等字符在Markdown中有特殊含义,要表示这些字符本身时如果不能正常显示,就需要使用转义字符\
,例如要显示:*Hello World*,如果*
前不加转义字符\
,最终的显示效果就是斜体 Hello World 了。
2、特殊字符
在网站https://unicode-table.com/cn/上,有许多特殊字符的HTML代码,可以直接在Markdown中使用,例如:
字符的HTML代码 | 字符 |
---|---|
❤ | ❤ |
★ | ★ |
♫ | ♫ |
❄ | ❄ |
☯ | ☯ |
2、Emoji
简书、Cmd Markdown目前不支持Emoji表情符号,在Github可以正常使用
https://www.webpagefx.com/tools/emoji-cheat-sheet/里可以查看Emoji表情符号,例如在Github上可以看到如下效果:
:bowtie:
:smile:
:heart_eyes:
:heart:
:fire:
十四、简单的HTML支持
简书目前不支持HTML,在Github、Cmd Markdown上可以支持部分HTML标签,例如插入一个无序列表的HTML片段:
<ul>
<li>aaaaaa</li>
<li>bbbbbb</li>
<li>cccccc</li>
<li>dddddd</li>
</ul>
效果如下:
十五、脚注
Github对脚注的支持不够理想,以下的效果为简书上的。
首先在需要添加脚注的文字后添加[^脚注名称]
,这一步称为加注,然后根据脚注的名称添加脚注,即可实现脚注功能,例如:
Django[^1]和Flask[^2]是Python中有名的Web框架!
[^1]:Django是一个开放源代码的Web应用框架.....
[^2]:Flask是一个使用 Python 编写的轻量级 Web 应用框架.....
脚注内容会被自动移动到文末哦!
Django[1]和Flask[2]是Python中有名的Web框架!
十六、锚点
锚点是HTML里常用的页内跳转方式,在Markdown里也有类似的操作,但不常用,目前Github、Cmd Markdown不支持,简书会打开一个新的页面,语法如下:
标题{#index}
点我回到[标题](#index)
十七、LaTeX公式
目前Github和简书都不支持,可使用Cmd Markdown查看具体效果。
1、行内公式
格式:$公式内容$
,例如:
$
f\left(
\left[
\frac{
1+\left\{x,y\right\}
}{
\left(
\frac{x}{y}+\frac{y}{x}
\right)
\left(u+1\right)
}+a
\right]^{3/2}
\right)
$
2、整行公式
主要用来展示,公式会水平居中。
格式:$$公式内容$$
,例如:
$$
f\left(
\left[
\frac{
1+\left\{x,y\right\}
}{
\left(
\frac{x}{y}+\frac{y}{x}
\right)
\left(u+1\right)
}+a
\right]^{3/2}
\right)
$$
两种类型公式的对比效果:
更多公式内容可参考MathJax
十八、流程图
语言类型为flow
的代码块:
st=>start: 开始
op=>operation: 步骤1
op1=>operation: 步骤2
cond=>condition: Yes or No?
e=>end: 结束
st->op->op1->cond
cond(yes)->e
cond(no)->op
和上边类似,同样可以用Cmd Markdown查看具体效果:
更多细节可参考http://flowchart.js.org/
十九、序列图
语言类型为seq
的代码块:
Title: 标题
A->B: 描述...
B-->C: 描述...
C->>D: 描述...
D-->>A: 描述...
在Cmd Markdown的效果如下:
更多细节可参考https://bramp.github.io/js-sequence-diagrams/
二十、甘特图
语言类型为gantt
的代码块:
title 项目开发流程
section 项目确定
需求分析 :done, a1, 2018-01-22, 5d
可行性报告 :done, after a1, 5d
section 项目实施
概要设计 :2018-02-02, 5d
详细设计 :2018-02-07, 10d
编码 :2018-02-17, 20d
测试 :2018-02-25, 15d
section 验收发布
验收: 3d
发布: 2d
在Cmd Markdown的效果如下:
更多细节可参考https://mermaidjs.github.io/