好早之前就接触过这个语法,感觉既简洁又还蛮简单的~为了更简洁的编辑一些东西,特别是公式这种的,自己准备好好来学一下这个语法。
Markdown介绍
Markdown是一种纯文本格式的标记语言,只需要通过一些简单的标记,就可以实现普通文本的格式化。但是,因为想要显示出来,需要支持Markdown语法,不然,看上去就是一堆带有标记的文本。
而在编写Markdown的时候,也是最好搭配一些编辑器来进行实时显示,才能够有更好的书写体验。常用的编辑器有:Typora、vscode+markdown all in one/markdown preview等。
Markdown常用语法
markdown想要更好的使用,还需要记忆一些常见的语法规则,这样,才能够写的时候,更加轻松的就呈现出格式。
标题
使用#来进行标题的设定,并且#*n表示为n级标题,记得与文本之间需要隔上一个空格才能使用。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
最终呈现样式
文字特殊效果
对于加粗、斜体、删除线、高亮都有相应的标识。
其中:
- 加粗:**
- 倾斜:*
- 删除线:~~(注意使用英文格式)
- 高亮:==
注意:文字和标识之间是紧密连接的,不然就不会被当成标识来进行处理。
**文字加粗**
*文字倾斜*
~~文字删除线~~
==背景高亮==
效果:
想要进行效果叠加使用,直接将各自的标识以括号的逻辑层层嵌套进去即可。
***文字斜体+加粗***
~~*字体倾斜+删除线*~~
*~~字体倾斜+删除线~~*
==~~字体高亮+删除线~~==
==**字体高亮+粗体**==
效果:
列表
列表模式分为有序列表和无序列表。
有序列表
使用1.、2.、n.来创建有序列表,n表示你想要的顺序号,记得与内容之间需要用空格来连接。
1. 有序列表1
2. 有序列表2
3. 有序列表3
效果:
无序列表
使用-、+、*均可创建无序列表,同样需要使用空格来连接。
- 无序列表1-
- 无序列表2-
+ 无序列表1+
+ 无序列表2+
* 无序列表1*
* 无序列表2*
效果:
编辑器中可以帮助大家进行后续列表标识符的补齐,即直接按回车键,会自动的帮你写好,如果不需要,删除或者再按回车即可。
使用不同的缩进可以来表示层次性。
1. 有序列表1
+ 无序列表1+
+ 无序列表2+
2. 有序列表2
1. 有序列表2.1
2. 有序列表2.2
3. 有序列表3
* 无序列表1*
* 无序列表2*
效果
分割线
使用3个或者3个以上-、*都可以产生分割线,且效果相同,但不能进行混用,也就是必须是纯的-或*。
---
***
----
*****
效果
引用
符号为>,并且可以进行引用的嵌套,层级通过>的多少来决定,这个没有像标题一样6层的限制。比如,第一层用>,第二层用>>,第n层用n*>。
字和>之间可以有空格,但是不产生效果。
> 第1层引用
>> 第2层引用
>>> 第3层引用
>>>>>>>>第n层引用
效果:
链接
这种其实就是超链接的方式,使用如下格式来进行。
[超链接名](超链接地址 "超链接title")
[百度](https://www.baidu.com "悬停:百度")
其中,[超链接名]为这个超链接显示的字样,如下图的“百度”;而超链接地址,则为点击该链接后会链接到的网址;"超链接title"为鼠标悬停在链接上面出现的文字,可以不加,不加的话则没有悬停后显示文字的效果。
效果:
图片
图片的板式和链接非常的像,除了前面需要用英文叹号❗️来表示图片。用法也类似,图片标题表示你想要拟定的图片的标题,而链接指代的是图片的地址,图片title同样表示的是悬停在图片上的一个文字效果,可以不用。
![图片标题](图片地址 "图片title")
![图片标题](图片地址)
表格
个人觉得markdown语法的表格没有直接的表格操作起来方便,不过,修改的话还是方便的。具体格式如下:
表头|表头|表头|表头
-|:-:|-:|:-
内容1111|内容2222|内容3333|内容4444
内容|内容|内容|内容
第二行的添加是为了区分表头和具体的内容,而为了更好的演示对齐的效果,将第一行的文字加长了~
注意点:
- 使用"-|-|..."的方式来区分表头和具体内容
- 使用":"和"-"的相对关系表示文字对齐关系:如果不进行明确,则默认表头居中,内容右对齐。
- 使用"|"进行分割
效果:
代码
除了表,代码也是经常需要用到的。代码中的特殊标识是反引号`。
如果是单行代码的话,直接一个反引号即可,而多行代码的话则需要使用三个。
`代码内容`
```代码语言(java、python、csharp等)
代码块
```
Q1:mac中反引号`如何打?
ans:英文模式+option+"1"左边的按键 = `
以python为例:
```python
import flask
import numpy
```
效果:
流程图
对我来说,流程图用得比较少,但是,却可以直接通过符号来完成流程图的绘制,是一件蛮节省时间的事情。
- 使用三个反引号+flow来表示后续代码为流程图。
- 使用"tag=>type: content:>url"来定义每一个节点:
- tag:用于后面流程图的构建标识
- type:表示该节点的类型
- content:流程图节点上显示的文字
- url:超链接,配置后点击该节点,即可跳转到对应的网址上
Type | 类型 |
---|---|
start | 开始 |
end | 结束 |
operation | 操作 |
conditon | 条件 |
subroutine | 子程序 |
- 使用->来进行流程图连接
简单创建一个流程图:
```flow
st=>start: 开始:>http://www.baidu.com
op1=>operation: My Operation1
op2=>subroutine: My Operation2
cond=>condition: Yes or No?
e=>end: 结束
st->op1
op1->op2->cond
cond(yes)->e
cond(no)->op2
```
效果图:
如果逻辑清楚,直接用代码来进行流程图编写,感觉可能更有助于梳理吧。
数学公式
感觉Markdown又一便利点就在于数学公式的灵活插入,真的是解放双手,还好看。
行内公式vs独行公式
使用$来进行公式的标识,其中行内公式使用单个$进行连接,独行使用两个$,即
这是单行公式: $x=123$
这是独行公式: $$x=123$$
效果:
上标&下标
使用^来表示上标,而_表示下标,即
$a^{上标}$
$a^上标$
$a_{下标}$
效果:
注:上标和下标默认只生效后面接下来的一个数字或字符,如果需要多个数字或字符的话,使用{}将你需要作为上标/下标的给囊括起来。
基础运算
常用的比较多的运算如下:
加法:$x+y=z$
减法:$x-y=z$
乘法:$x \times y=z$
除法:$x \div y=z$
加减法:$x \pm y=z$
减加法:$x \mp y=z$
点乘法:$x \cdot y=z$
斜法:$x/y=z$
绝对值:$|x+y|$
效果:
逻辑运算
逻辑运算主要将介绍“大于”、“小于”、“等于”等运算符号:
运算名称 | 标识符 |
---|---|
等于运算 | = |
大于运算 | > |
小于运算 | < |
大于等于运算 | \geq |
小于等于运算 | \leq |
约等于运算 | \approx |
不等于运算 | \neq 或 \not = |
示例:
等于:$x+y=z$
大于:$x+y>z$
小于:$x+y<z$
大于等于:$x+y \geq z$
小于等于:$x+y \leq z$
约等于:$x+y \approx z$
不等于1:$x+y \neq z$
不等于2:$x+y \not = z$
效果:
高级运算
这些高级运算真的超级难做,但是用Markdown语法,感觉会简单超级多:
运算名称 | 标识符 |
---|---|
平均数 | \overline |
开方 | \sqrt |
开n次方 | \sqrt[n]{被开方数} |
对数运算 | \log_{对数底数} |
常用对数ln | \lg |
常用对数lg | \ln |
求和运算 | \sum |
极限运算 | \lim |
积分 | \int |
微分 | \partial |
示例:
平均数:$\overline{xy}$
开方:$\sqrt {xyz}$
开n次方:$\sqrt[n]{x+y}$
对数运算:$\log_{5}(x)$
常用对数ln:$\ln(x)$
常用对数lg:$\lg(x)$
极限运算:$\lim^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
求和运算:$\sum^{x \to \infty}_{y \to 0}{\frac{x}{y}}$
积分:$\int^{\infty}_{0}{xdx}$
微分:$\frac{\partial x}{\partial y}$
效果:
分式
分式有两种表达方式:
方法一:$\frac{x1+y1}{y1+z1}$
方法二:${x2+y2} \over {y2+z2}$
效果:
占位符
公式中的空格等全部失效,因此,需要使用对应的标识符来进行占位。
标识符 | 意义 |
---|---|
\ | 空格 |
\quad | 1个quad空格 |
\qquad | 2个quad空格 |
\! | 紧贴 |
示例:
空格:$x \ y$
1个quad空格:$x \quad y$
2个quad空格:$x \qquad y$
2个quad空格:$x \quad\quad y$
紧贴:$x \! y$
效果:
html语法支持
markdown是支持html语法的,所以,对于html语法熟悉的朋友们,可以直接使用html进行拟写。
举例一些html的标签:
<h1>这是一个标题</h1>
<h2>这是一个二级标题</h2>
<h3>这是一个三级标题</h3>
<h4>这是一个四级标题</h4>
<h5>这是一个五级标题</h5>
<h6>这是一个六级标题</h6>
<u>下划线文本</u>
效果:
如果想要不使用html语法的话,可以使用单行代码展示和转义符的操作,如:
代码单行展示:`<h1>这是一个标题</h1>`
转义符操作:<h1>这是一个标题</h1>
效果:
想要继续深挖的话,还有一些比较细致的约定,但是,基本的一些感觉罗列的差不多啦~希望可以记录下来,并且帮助大家。