MarkDown语法小记
0x00.语法速查
markdown标准:
1.标题:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
2.粗体
**粗体**
3.斜体
*斜体*
4.无序列表
- 列表1
* 列表2
5.有序列表
1. 列表1
2. 列表2
6.区块
> 这是个区块
7.表格
|一行一列|一行俩列|一行三列|
|-------|-------|-------|
|一行一列|一行俩列|一行三列|
|一行一列|一行俩列|一行三列|
8.代码块
```
这里是代码块
```
9.超链接
[内容](http://yoururl)
10.图片
![替代文字](图片url)
11.分割线
---
markdown衍生:
12.生成目录
[TOC]
13.删除线
~~through line~~
14.脚注
生成一个脚注[^n]
[^n]: 这里是 **脚注** 的 *内容*
15.数学公式
使用使用MathJax渲染LaTex数学公式
http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
16.流程图
```sequence
```
http://adrai.github.io/flowchart.js/
17.序列图
```flow
```
http://bramp.github.io/js-sequence-diagrams/
0x01.前言
markdown是一种轻量级的标记语言,她众多的优点被越来越多的人们所认知,作家们用来写作,程序员们用来写博客。相信在不久的将来,markdown将会更加普及。
0x02.markdown的优点
我为什么一定要使用markdown呢?
兼容任何编辑器
markdown是一种标记语言,她是由纯文本构成的,这种特性使得她兼容性极强,你可以用任何编辑器来编写markdown文本,甚至windows自带的记事本:)。不需要排版
markdown与word相比,我们只需要记住10个左右的标记,便可以创建出比word更加精美的文档,而不需要进行排版。可读性强,代码简洁
markdown与html相比,代码更加简洁,当然markdown并不能替代html。格式转换方便
markdown可以转换为html,pdf 等格式。
0x03.markdown的语法
段落与标题
段落与标题是任何文档永远不变的主题:D。
- 段落
要想在markdown中生成一个段落,只需把要生成的段落前后都留空行即可,如下所示:
第一段
第二段
第三段
- 标题
markdown的标题有俩种表示语法。
底线形式
1阶标题
=======
1阶标题
2阶标题
------
2阶标题
#号形式
# 1级标题
## 2级标题
### 3级标题
#### 4级标题
##### 5级标题
###### 6级标题
1级标题
2级标题
3级标题
4级标题
5级标题
6级标题
斜体与粗体
- 粗体
把要加粗的内容的左右俩端都加上 **
**粗体**
粗体
- 斜体
把要倾斜的字体左右俩端加上 *
*斜体*
斜体
列表
- 无序列表
在每一个列表项前面加 -(空格)或者 *(空格),便可以生成无序列表。
* 列表1
- 列表2
- 列表3
- 列表1
- 列表2
列表3
有序列表
有序列表只需在列表项前面加 数字. (空格)
1. 列表一
2. 列表二
列表一
列表二
不管是有序列表还是无序列表,内容前的空格是必须的。
- 列表的嵌套
列表间可以互相嵌套,把子列表在父列表的基础上缩进一个制表符即可
- 第一项
1. 第1项
2. 第2项
- 第二项
- 第三项
- 第四项
- 第一项
- 第1项
- 第2项
- 第二项
- 第三项
- 第四项
区块
想要在markdown中生成一个区块,只需要在要生成的内容前面加 > 即可。
> 这是一个区块
这是一个区块
区块也可以嵌套使用,需要几层嵌套就在内容前加几个 > 。
> > 1. 嵌套的区块1
> > > 2. 嵌套的区块2
- 嵌套的区块1
- 嵌套的区块2
表格
在markdown中插入表格的确是很累人的一件事,下面只介绍表格的简写形式。
|一行一列|一行俩列|一行三列|
|-------|-------|-------|
|一行一列|一行俩列|一行三列|
|一行一列|一行俩列|一行三列|
第二行的作用是为了添加表头,可以去掉。
一行一列 | 一行俩列 | 一行三列 |
---|---|---|
一行一列 | 一行俩列 | 一行三列 |
一行一列 | 一行俩列 | 一行三列 |
代码区块
代码区块中的内容会原封不动的呈现,markdown中的代码区块可以分为行内的和块内的。
- 行内代码
行内代码需要把转换的内容前后加上 ` 。
我们都知道,`markdown`是一门标记语言。
我们都知道,markdown
是一门标记语言。
- 块内代码
块内代码需要在内容的前一行和后一行加上三个 ` 。
<html>
<head>
<title></title>
<style>.box{width:100px;height:100px;border:1px solid black;}</style>
</head>
<body>
<div class='box'>div</div>
</body>
</html>
图片与超链接
- 图片
markdown中插入图片的语法是:
![替代内容](图片的url地址)
其中替代文字为图片无法正常显示时出现的替代内容,图片必须是网络资源,能够通过网址访问到。
- 超链接
超链接的语法格式为:
[显示内容](链接的地址)
这里以百度为例:Baidu
注意:链接地址必须完整,加上http协议 https://www.baidu.com
分隔线
分隔线的语法非常简单,只需要另起一行,输入 —
---
反斜杠 \ 的作用
在我们输入一段文字时,如果刚好要输入和markdown语法相同的字符时,我们就要用到反斜杠 \ 来转义这个字符。
比如:我们要输入一个俩端带星号的单词,如果正常输入便会变成斜体的形式。
*星号*
星号
这时我们用 \ 把 * 转义一下,让它变成正常的字符。
\*星号\*
*星号*
0x04.markdown衍生语法
生成目录
[TOC]
删除线
~~删除线~~
删除线
尾注
这是个尾注[^1]
[^1]:这是对应的尾注内容 会被自动加到文章末尾
这是个尾注1
数学公式
- 行内公式
$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$。
Γ(n)=(n−1)!∀n∈N Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N 。
- 块级公式:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
流程图
```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
```
序列图
```sequence
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
```
0x05.更好的学习markdown
- 想要学习更完整的markdown,请访问:
- 一些markdown的编辑器:
Windows下的 MarkdownPad
Mac下的 Mou
一款在线编辑器 dillinger
- 这是对应的尾注内容 会被自动加到文章末尾 ↩