一、Markdown 是什么?
Markdown 是一种轻量级标记语言,核心思想是“用纯文本格式书写,最终渲染为结构化 HTML”。对我个人而言,它的价值在于:
- 语法极简:常用标记不超过十个,几分钟就能上手。
- 纯文本可读:即使不渲染,原始文本也几乎没有阅读障碍。
- 跨平台通用:GitHub、笔记软件(obsidian)、博客平台几乎都支持。
我选择 Markdown 作为主力笔记格式,主要是因为书写简单便捷,并且许多工具都支持,因此改为常在obsidian进行笔记记录。
二、标题
标题用 # 表示,数量代表层级。# 后面需要跟一个空格。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果预览:
一级标题
二级标题
三级标题
个人习惯:一篇文章只用
#到###,更深层级用列表或加粗代替,避免层级太深影响可读性。
三、段落与换行
段落:连续的行视为一个段落,段落之间用空行分隔。
这是第一段的内容。
可以换行但不会分段,除非中间有空行。
这是第二段,与上一段之间有一个空行。
换行:如果要在段落内强制换行(不产生新段落),行末加两个空格然后回车。
第一行末尾两个空格
第二行紧挨着但换行了
踩坑记录:很多编辑器会忽略单个换行,必须用两个空格才能换行。我后来习惯直接用空行分段,不再纠结强制换行。
四、强调与粗体
| 效果 | 语法 | 说明 |
|---|---|---|
| 斜体 | *斜体* 或 _斜体_ | 常用 * |
| 粗体 | **粗体** 或 __粗体__ | 常用 ** |
| 粗斜体 | ***粗斜体*** | 三个符号 |
~~删除线~~ | 需要额外记忆 |
这是一个 *斜体* 示例。
这是一个 **粗体** 示例。
这是一个 ***粗斜体*** 示例。
这是一个 ~~删除线~~ 示例。
推荐统一使用
*和**,因为_在某些上下文(如下划线)中容易冲突。
五、列表
无序列表
用 -、+ 或 * 开头,后面跟空格。推荐使用 -。
- 第一项
- 第二项
- 嵌套列表(前面加两个空格)
- 继续嵌套
- 第三项
效果:
- 第一项
- 第二项
- 嵌套列表(前面加两个空格)
- 继续嵌套
- 第三项
有序列表
用数字加 . 开头,数字不必连续,但推荐从 1 开始。
1. 第一步
2. 第二步
1. 子步骤 2.1
2. 子步骤 2.2
3. 第三步
效果:
- 第一步
- 第二步
- 子步骤 2.1
- 子步骤 2.2
- 第三步
六、链接
行内链接
[链接文本](URL "可选标题")
示例:
[我的 GitHub](https://github.com/username "点击访问")
效果:我的 GitHub
引用式链接(适合重复使用同一链接)
[链接文本][引用标签]
[引用标签]: URL "可选标题"
示例:
我经常访问 [Google][google] 和 [GitHub][gh]。
[google]: https://www.google.com
[gh]: https://github.com
自动链接
直接写 URL 或用尖括号括起来:
<https://example.com>
https://example.com (部分编辑器支持)
七、图片
语法与链接类似,前面加一个感叹号:

示例:

效果(图片略,实际会显示):
本地图片:可以使用相对路径或绝对路径。

调整图片大小:原生 Markdown 不支持,但可以用 HTML 的 <img> 标签:
<img src="./images/photo.jpg" width="300" alt="描述">
我的笔记习惯:截图统一放在
images/文件夹下,用相对路径引用。如果需要调整大小,再改用 HTML 标签。
八、代码
行内代码
用反引号 ` 包裹:
使用 `console.log('hello')` 打印日志。
效果:使用 console.log('hello') 打印日志。
代码块
用三个反引号 ``` 包裹,可以指定语言(用于语法高亮):
```python
def hello():
print("Hello, world!")
```
效果:
def hello():
print("Hello, world!")
其他常用语言标识:javascript、bash、sql、json、html、css。
围栏式代码块
也可以用四个空格缩进表示代码块,但三个反引号的方式更常用,也支持语言标注。
九、引用块
用 > 开头,可以嵌套。
> 这是一段引用。
> 可以跨多行。
>
> > 这是嵌套引用。
> > 第二行嵌套。
效果:
这是一段引用。
可以跨多行。这是嵌套引用。
第二行嵌套。我通常用引用块来记录“思考总结”或“遇到的坑”,视觉上和其他正文区分开。
十、表格
表格由表头、对齐线和数据行组成。
| 左对齐 | 居中对齐 | 右对齐 |
| :----- | :------: | -----: |
| 单元格1 | 单元格2 | 单元格3 |
| 长内容测试 | 内容 | 100 |
效果:
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 单元格1 | 单元格2 | 单元格3 |
| 长内容测试 | 内容 | 100 |
对齐方式:
:---左对齐:---:居中对齐---:右对齐
表格语法比较繁琐,我一般用 VS Code 的 Markdown 表格插件(如 Markdown Table Formatter)自动格式化对齐。
十一、水平分割线
用三个或更多的 -、* 或 _ 单独占一行:
---
***
___
效果(以 --- 为例):
十二、转义字符
特殊字符前加反斜杠 \ 可以转义,显示原始字符。
\*这不是斜体\*
\# 这不是标题
\[这不是链接\]
效果:*这不是斜体*
需要转义的特殊字符列表:\ * _ {} [] () # + - . ! `