Markdown完全指南
从入门到精通,全面掌握Markdown的核心概念和语法规则,高效创建格式化文本
基础语法
Markdown是一种轻量级标记语言,用简洁的语法格式生成结构化文档。以下是Markdown的基本概念和核心语法。
什么是Markdown?
Markdown是由John Gruber在2004年创建的标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档。
Markdown的特点:
- 纯文本格式,不依赖特定软件
- 语法简单,学习成本低
- 可转换为多种格式(HTML、PDF、Word等)
- 广泛应用于文档写作、博客、README文件等
为什么使用Markdown?
Markdown已经成为互联网上最流行的写作格式之一,尤其适合需要频繁编写文档的场景。
专注内容
无需关注格式细节,专注于文字创作
代码友好
特别适合程序员记录笔记和编写文档
跨平台兼容
在任何设备上都能轻松查看和编辑
永久保存
纯文本格式,不会因软件升级而失效
Markdown工具推荐
Visual Studio Code
强大的编辑器,支持Markdown预览和语法高亮
Typora
所见即所得的Markdown编辑器
Obsidian
功能丰富的笔记应用,支持Markdown和双向链接
标题
Markdown使用#符号表示标题,从一级标题到六级标题,分别使用1-6个#符号。
Markdown语法
# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题
渲染效果
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
Atx样式标题
上面的示例使用的是Atx样式标题,这是最常用的Markdown标题语法。
# 一级标题 ## 二级标题
Setext样式标题
Setext样式标题使用等号(=)表示一级标题,减号(-)表示二级标题。
一级标题 ======= 二级标题 -------
标题使用技巧
- #符号后需要加空格,否则可能不被识别为标题
- 建议从二级标题开始使用,一级标题通常用于文档标题
- 避免在同一文档中使用过多级别的标题,通常3-4级足够
文本格式
Markdown提供了丰富的文本格式化选项,包括粗体、斜体、删除线等。
基本文本格式
粗体
**这是粗体文本** __这也是粗体文本__
这是粗体文本
这也是粗体文本
斜体
*这是斜体文本* _这也是斜体文本_
这是斜体文本
这也是斜体文本
粗斜体
***这是粗斜体文本*** ___这也是粗斜体文本___
这是粗斜体文本
这也是粗斜体文本
删除线
~~这是删除线文本~~
这是删除线文本
其他文本格式
下划线
Markdown本身不直接支持下划线,但可以使用HTML标签。
<u>这是下划线文本</u>
这是下划线文本
高亮
部分Markdown解析器支持使用==进行文本高亮。
==这是高亮文本==
这是高亮文本
上标和下标
使用HTML标签实现上标和下标。
H<sub>2</sub>O E=mc<sup>2</sup>
H2O
E=mc2
文本格式使用技巧
- 优先使用**和*表示粗体和斜体,因为它们更常见且易于输入
- 如果需要在文本中使用实际的星号或下划线,可以在前面加反斜杠进行转义
- 复杂的格式建议使用HTML标签,Markdown支持直接嵌入HTML
列表
Markdown支持有序列表、无序列表和嵌套列表,让你可以轻松组织信息。
无序列表
使用星号(*)、加号(+)或减号(-)开头,后面加空格。
语法
* 项目一 + 项目二 - 项目三
渲染效果
- 项目一
- 项目二
- 项目三
有序列表
使用数字加句点(.)开头,后面加空格。数字顺序不影响渲染结果。
语法
1. 第一步 3. 第二步(数字顺序不影响) 2. 第三步
渲染效果
- 第一步
- 第二步(数字顺序不影响)
- 第三步
嵌套列表
通过缩进创建嵌套列表,通常使用2-4个空格或1个Tab。
语法
1. 主项目1 - 子项目A - 子项目B 2. 主项目2 1. 子项目1 2. 子项目2
渲染效果
- 主项目1
- 子项目A
- 子项目B
- 主项目2
- 子项目1
- 子项目2
列表使用技巧
- 无序列表建议统一使用一种符号,保持一致性
- 嵌套列表的缩进要保持一致,否则可能导致解析错误
- 列表项之间可以包含多个段落,但每个段落必须缩进相同的空格数
链接与图片
Markdown提供了简单的语法来添加链接和图片,增强文档的交互性和视觉效果。
链接
Markdown支持行内链接、参考式链接和自动链接。
参考式链接
自动链接
<https://www.example.com> <contact@example.com>
链接与图片使用技巧
- 始终为图片添加alt文本,提高无障碍性
- 对于频繁使用的链接,考虑使用参考式链接,提高文档的可维护性
- 本地图片使用相对路径,便于文档的移植和共享
代码
Markdown提供了简单的语法来格式化代码,无论是单行代码还是代码块。
行内代码
使用反引号(`)包裹行内代码。