基本语法
n 级标题
粗体
粗体文本
斜体
斜体文本
引用
引用文本
无序列表
有序列表
- 有序文本
- 有序文本
- 如果列表项有换行,则建议给无序列表使用 3 个空格,给有序列表使用 2 个空格。
- 如果一个列表中的每个列表项都只有 1 行,建议列表项之间不要有空行。
- 如果列表项中有换行,建议在列表项之间空 1 行,这样会比较容易区分多行列表项的开始和结束。
行内代码
code
分割线
文字链接
示例网站
图片
1
| ![图片](/post-images/markdown-cheat.png)
|
网址链接
<www.example.com>
扩展语法
只介绍 Github 偏好的 Markdown(GFM),尽量保持兼容性。
自动链接
www.example.com
禁用自动链接:
www.example.com
表格
1 2 3
| | Header | Header | Header | | :--- | :---: | ---: | | Left | Middle | Right |
|
Header |
Header |
Header |
Left |
Middle |
Right |
代码块
1 2 3 4 5 6 7
| ```cpp #include <iostream> int main() { std::cout << "Hello Markdown\n"; return 0; } \```
|
1 2 3 4 5
| #include <iostream> int main() { std::cout << "Hello Markdown\n"; return 0; }
|
-
很多 Shell 命令都要粘贴到终端中去执行,因此最好避免在 Shell 命令中使用任何换行操作;可以在行尾使用一个\
,这样既能避免命令换行,又能提高源码的可读性。
-
建议不要在没有输出内容的 Shell 命令前加$
。在命令没有输出内容的情况下,$
是没有必要的,因为内容全是命令,我们不会把命令和输出的内容混淆。
-
建议在有输出内容的 Shell 命令前加上$
,这样会比较容易区分命令和输出的内容。($
代表普通用户,#
代表超级用户)
删除线
删除文本
任务列表
表情符号:
1
| :cry: :joy: :smile: :warning: :memo: :bulb:
|
😢😂😄⚠️📝💡
参阅 表情短代码列表
Tricks
主要是利用 HTML 实现一些额外的功能。
下划线
下划线文本
缩进
1 2 3 4
| $nbsp $emsp $ensp 缩进文本
|
缩进文本
居中
1 2
| <center\>居中文本\</center\> # 标准已弃用 <p style="text-align:center">居中文本</p>
|
<center>居中文本</center>
颜色
1
| <font color="red">红色文本</font>
|
红色文本
图片大小
1 2
| <img src="image.png" width="200" height="100"/> <img src="image.png" style="zoom:33%;"/>
|
目录
[TOC]
内容折叠
需要安装markdown-it-collapsible
插件
1 2 3 4 5 6 7 8 9
| +++ **点击查看** 隐藏内容。
```python def expand(): return "exapndable" \```
+++
|
点击查看
隐藏内容。
1 2
| def expand(): return "expandable"
|
数学公式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $a = b + c * d - e_0 * f$
$$\frac{\partial u}{\partial t} = h^2 \left( \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right)$$
$$ \left[ \begin{array}{cc|c} 1&2&3\newline 4&5&6 \end{array} \right] $$
$$ \begin{eqnarray} \nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\ \nabla\cdot\vec{B} &=& 0 \\ \nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\ \nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right) \end{eqnarray} $$
|
$a = b + c * d - e_0 * f$
$$\frac{\partial u}{\partial t}= h^2 \left( \frac{\partial^2 u}{\partial x^2} +\frac{\partial^2 u}{\partial y^2} +\frac{\partial^2 u}{\partial z^2}\right)$$
$$\left[\begin{array}{cc|c}1&2&3\newline4&5&6\end{array}\right]$$
$$\begin{eqnarray}\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\nabla\cdot\vec{B} &=& 0 \\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)\end{eqnarray}$$
排版 Tips
- 安装
markdownlint
插件。
- 使用
Trailing Spaces
插件。
- URL前后加空格,这样可以避免和文字粘连。
- 建议中文和英文之间加空格,中文/英文和数字之间也要加空格。(试了几个
hexo
插件都存在一些问题,这条看情况遵守吧;这样做的一个好处是可以让编辑器帮你进行拼写检查)
- 英文标点符号(如,.;:?)与后面的字符之间需要加空格,与前面的字符之间不需要加空格。
- 中文标点符号和数字、中文、英文之间不需要添加空格。
- 中文排版使用全角标点符号,英文排版使用半角标点符号。
- 专有名词注意大小写问题。
- 括号的用法:在括号内只有英文时用英文括号,并在括号前后加一个半角空格;在括号内有中文时用中文括号。
- 英文没有顿号,因此在英文和阿拉伯数字并列时用逗号,否则用顿号。