Markdown 是一个 Web 上使用的文本到HTML的转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。而且是一种轻量级的语言,所见即所得。目前 github、Stackoverflow 等网站均支持这种格式。写博客的时候这种语言使用非常爽。因此这里就粗略介绍一下markdown这种语言。
首先我觉得还是要推荐一下官方文档,这个文档解决了大部分问题,也是可靠的参考资料。经常查看这篇文档,我觉得就够了。这里实际上就是总结一下,当然也有从其他平台找到的补充方法。每个分类下面都会有代码以及效果。
编译器推荐使用vscode,使用ctrl+shift+v就能随时看到效果,而且使用vscode后再也不想用其他文本编辑器了!太好用了!
全面兼容html文档
代码:
<table>
<tr>
<td>Foo</td>
</tr>
</table>
效果:
Foo |
标题
标题方法较为常用因此不再过多介绍。
区块引用
效果就像jupyter notebook里的注释一样,一眼能够看出是一个引用。
代码:
> ## 这是一个标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");
效果:
这是一个标题。
- 这是第一行列表项。
- 这是第二行列表项。
给出一些例子代码:
return shell_exec("echo $input | $markdown_script");
列表
无序号列表使用*、+或是-作为列表标记,有序号直接阿拉伯数字就行。
代码引用
文档里说的是使用缩进的方法可也没有指定什么语言,如果指定语言推荐如下方式:
```c
#include <stdio.h>`
int main(void)`
{
printf("Hello world\n");
}
```
这是行间代码的写法,如果是行内代码推荐使用单引号即可。
效果:
#include <stdio.h>`
int main(void)`
{
printf("Hello world\n");
}
分割线
使用如下方法都能得到分割线:
* * *
***
*****
- - -
---------------------------------------
链接
网页链接如下:
这是一个 [链接](http://www.baidu.com/ "Title") 。
这也是一个[链接][1]
[1]:www.baidu.com
效果:
这是一个 链接 。
这也是一个[链接][1]
[1]:www.baidu.com
也可以有图片链接,在上面的方法中前面加上’!’(英文),小括号里写图片位置即可。小括号里也可以再加入文字作为标题。
markdown还支持自动链接,以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
<http://example.com/>
效果:
强调
代码:
*斜体*或_斜体_
**粗体**
***加粗斜体***
~~删除线~~
效果:
斜体或_斜体_
粗体
加粗斜体
删除线
转义字符
和latex语言一样,转义字符是\。如果有字符无法正常打出,可以尝试使用转义字符。
数学公式
一般markdown不支持使用数学符号,需要安装mathjax引擎。引入脚本,把下面代码插入 MD 文件里面:
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
如果使用数学符号,语法和latex一样,请移步latex。
为了表明这里使用了数学符号,请使用$...$
表明是行内公式,行间公式请使用$$...$$
。
下面简要贴出一些例子:
$$ x_1^{2*\pi} $$
$$\underline{x+y} $$
$$\tag{11} $$
$$\overbrace{a+b+c+d}^{2.0} $$
$$\vec{x}\stackrel{\mathrm{def}}{=}{x_1,\dots,x_n} $$
$$x \quad y $$
$$()\big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg)$$
$$x \pm y=z $$
$$x \mp y=z $$
$$x \times y=z $$
$$x \cdot y=z $$
$$x \ast y=z $$
$$x \div y=z $$
$$\frac{x+y}{y+z}$$
$$ \overline{xyz} $$
$$\sqrt[3]{x+y} $$
$$\lim^{x \to \infty}_{y \to 0}{\frac{x}{y}} $$
$$\sum^{x \to \infty}_{y \to 0}{\frac{x}{y}} $$
$$\int^{\infty}_{0}{xdx} $$
$$\left[ \begin{matrix} 1 &2 &\cdots &4 &6 &\cdots &8\\vdots &\vdots &\ddots &\vdots &14 &\cdots &16\end{matrix} \right]$$
$$\geq \leq \neq \ngeq \not \nleq \approx$$
$$x \in y \subset \infty \dot{x}$$
效果:
x
1
2
∗
π
x_1^{2*\pi}
x12∗π
x + y ‾ \underline{x+y} x+y
(11) \tag{11} (11)
a + b + c + d ⏞ 2.0 \overbrace{a+b+c+d}^{2.0} a+b+c+d 2.0
x ⃗ = d e f x 1 , … , x n \vec{x}\stackrel{\mathrm{def}}{=}{x_1,\dots,x_n} x=defx1,…,xn
x y x \quad y xy
( ) ( ) ( ) ( ) ( ) ()\big(\big) \Big(\Big) \bigg(\bigg) \Bigg(\Bigg) ()()()()()
x ± y = z x \pm y=z x±y=z
x ∓ y = z x \mp y=z x∓y=z
x × y = z x \times y=z x×y=z
x ⋅ y = z x \cdot y=z x⋅y=z
x ∗ y = z x \ast y=z x∗y=z
x ÷ y = z x \div y=z x÷y=z
x + y y + z \frac{x+y}{y+z} y+zx+y
x y z ‾ \overline{xyz} xyz
x + y 3 \sqrt[3]{x+y} 3x+y
lim y → 0 x → ∞ x y \lim^{x \to \infty}_{y \to 0}{\frac{x}{y}} y→0limx→∞yx
∑ y → 0 x → ∞ x y \sum^{x \to \infty}_{y \to 0}{\frac{x}{y}} y→0∑x→∞yx
∫ 0 ∞ x d x \int^{\infty}_{0}{xdx} ∫0∞xdx
[ 1 2 ⋯ 4 6 ⋯ 8 ⋮ ⋮ ⋱ ⋮ 14 ⋯ 16 ] \left[ \begin{matrix} 1 &2 &\cdots &4 &6 &\cdots &8 \\ \vdots &\vdots &\ddots &\vdots &14 &\cdots &16 \end{matrix} \right] [1⋮2⋮⋯⋱4⋮614⋯⋯816]
≥ ≤ ≠ ≱ ≰̸ ≈ \geq \leq \neq \ngeq \not \nleq \approx ≥≤=≱≰≈
x ∈ y ⊂ ∞ x ˙ x \in y \subset \infty \dot{x} x∈y⊂∞x˙
缩进(新增)
上面的语法已经能编写大部分markdown文档了,但是对于中文使用者来说缩进是一个问题,使用Tab键会变成代码块形式,如果缩进就推荐在每行前面加上两个 
,这是全角空格的意思。就像下面所视:
我觉得可以
以上就是我当前掌握的markdown使用技巧,以后写博客就靠它了!