Markdown 学习指南:从入门到精通
引言
在当今数字化信息爆炸的时代,高效的内容创作和文档编写变得愈发重要。Markdown,作为一种轻量级的标记语言,以其简洁易读、方便编写的特性,成为了众多内容创作者、程序员、学生以及各类专业人士的得力工具。它允许我们使用纯文本格式创建结构化文档,无论是撰写博客文章、记录笔记、编写书籍,还是在各种在线平台上进行内容创作,Markdown 都能大显身手。如果你还不了解 Markdown 是什么,强烈推荐阅读文章:什么是 Markdown?一文带你了解这个内容创作者的效率神器 。本教程手册将全面且深入地介绍 Markdown 的基本语法、扩展语法,并分享一些实用技巧,助力你快速掌握并精通 Markdown,提升工作和学习效率。
快速预览语法效果
为了方便你查看本手册中的 Markdown 语法渲染效果,可以将 Markdown 语法示例复制到 「人言兑.md」 或者「markdown」 中进行预览。人言兑.md 是一个使用 Markdown 语法编写公众号文章的在线编辑器,点击 这里 了解详情。
目录
- Markdown 学习指南:从入门到精通
-
- 引言
- 快速预览语法效果
- 一、Markdown 基本语法
- 二、Markdown 扩展语法
- 三、Markdown 技巧
- 四、CommonMark 规范
- 总结
一、Markdown 基本语法
以下是 Markdown 的核心语法元素,这些基本语法在所有 Markdown 应用中都应该被支持,是我们学习和使用 Markdown 的基础。
1.1 标题 (Headings)
在 Markdown 语法中,支持六级标题,通过在行首添加 # 符号来定义标题级别,# 的数量对应标题的级别。具体如下:
# 一级标题
渲染为<h1>一级标题</h1>
,一级标题通常用于文档的主标题,是整个文档内容的高度概括。## 二级标题
渲染为<h2>二级标题</h2>
,二级标题用于对文档内容进行分类,将主内容划分为不同的板块。### 三级标题
渲染为<h3>三级标题</h3>
,三级标题可以进一步细分二级标题下的内容,使文档结构更加清晰。#### 四级标题
渲染为<h4>四级标题</h4>
,用于在更细粒度上对内容进行组织。##### 五级标题
渲染为<h5>五级标题</h5>
,在深度层次上对内容进行更详细的划分。###### 六级标题
渲染为<h6>六级标题</h6>
,六级标题通常用于一些非常具体的细节描述或补充说明。
另外,还可以使用 = 和 - 来创建一级和二级标题:
一级标题
========
二级标题
--------
这种方式创建的标题在视觉上更加简洁明了,常用于一些对格式要求较为简单的文档中。
最佳实践:
- 在 # 符号和标题文本之间添加一个空格,这样可以使语法更加清晰易读,避免出现混淆。
- 为了兼容性,在标题前后添加空行,这有助于在不同的 Markdown 解析器中都能正确渲染标题,并且使文档的结构更加清晰,增强可读性。
1.2 段落 (Paragraphs)
Markdown 语法中的段落由一个或多个文本行组成,使用空行来分隔不同的段落。这是一种非常自然的段落表示方式,无需额外的标记,让文档看起来简洁直观。例如:
这是第一段内容。它可以包含多个句子,用于阐述一个完整的观点或描述一个相关的内容。
这是第二段内容,与第一段在逻辑和内容上相互独立,通过空行进行分隔,使文档结构更加清晰。
最佳实践:不要使用空格或制表符缩进段落,除非段落位于列表中。因为在 Markdown 中,缩进通常有其他特殊含义,随意缩进可能会导致格式错误或不符合预期的显示效果。
1.3 换行 (Line Breaks)
Markdown 语法中,有两种常见的换行方式。
- 一种是在一行的末尾添加 两个或多个空格,然后键入回车来创建一个换行。例如:
这是第一行内容,添加两个空格后回车
这是第二行内容,通过这种方式实现了换行效果。
- 另一种方式是使用
<br>
HTML 标签来换行。例如:
这是第一行内容<br>
这是第二行内容,通过<br>标签实现了换行。
最佳实践:为了兼容性,建议使用尾随空格或 <br>
标签。不同的 Markdown 解析器对换行的支持可能略有差异,使用这两种方式可以确保在大多数情况下都能正确实现换行效果。
1.4 粗体 (Bold)
Markdown 语法支持两种强调方式来实现粗体效果,即使用 两个星号 () 或 两个下划线 (__) 将文本括起来。例如:
**粗体文本** 或 __粗体文本__
这两种方式都会渲染为 <strong>粗体文本</strong>
。
最佳实践:
- 为了兼容性,使用星号来加粗单词中间部分。 例如:
Love**is**bold
,这样在不同的解析器中都能保持一致的显示效果。 - 建议在加粗的中文文本的前后添加空格,例如
** 这是加粗的中文文本 **
,这样可以使文本在视觉上更加美观,避免加粗符号与文字紧贴在一起导致阅读不便。
1.5 斜体 (Italic)
Markdown 语法使用 一个星号 *
或 一个下划线 _
包裹需要斜体的文本。例如:
*斜体文本* 或 _斜体文本_
这两种方式都会渲染为 <em>斜体文本</em>
。
最佳实践:为了兼容性,建议在单词中间使用星号 *
来倾斜。 例如:A*cat*meow
,这种方式在各种 Markdown 应用中都能得到较好的支持,确保斜体效果的一致性。
1.6 粗体和斜体 (Bold and Italic)
Markdown 语法使用 三个星号 ***
或 三个下划线 ___
包裹需要同时加粗和斜体的文本。例如:
***这是粗斜体文本***
___这也是粗斜体文本___
最佳实践:
- 为了兼容性,使用星号来斜体加粗单词中间部分。
- 使用
**_粗斜体_**
或_**粗斜体**_
更加直观,这种方式在视觉上更清晰地展示了粗体和斜体的组合效果,同时也便于理解和记忆。
1.7 引用 (Blockquotes)
在段落前添加 > 符号来创建引用。例如:
> 这是引用的内容
>
> 这是引用的内容
>
> 这是引用的内容
最佳实践:在引用前后各留一个空行,以确保正确渲染。这样可以使引用内容在文档中更加突出,与其他内容区分开来,增强文档的可读性。
引用可以包含其他 Markdown 格式的元素进行嵌套引用,使用多个 >
符号来创建嵌套引用。例如:
> 这是第一层引用
> > 这是第二层引用
> > > 这是第三层引用
通过这种方式,可以在引用中进一步引用其他内容,丰富文档的层次结构。
1.8 列表 (Lists)
Markdown 语法支持有序列表和无序列表,方便我们对内容进行分类和列举。
1.8.1 有序列表 (Ordered Lists)
使用 数字加英文句点 .
来创建有序列表。 数字不必按顺序排列,但列表应该以数字 1 开始。例如:
1. 第一项
2. 第二项
3. 第三项
即使将数字写成:
1. 第一项
3. 第二项
2. 第三项
在渲染时,仍然会按照顺序显示为 1、2、3。
最佳实践:为了兼容性,列表项分隔符建议只使用英文句点 .
,其后面添加空格。不同的解析器对其他分隔符的支持可能存在差异,使用英文句点可以确保在各种情况下都能正确显示有序列表。
1.8.2 无序列表 (Unordered Lists)
使用 减号 -
、星号 *
或 加号 +
来创建无序列表。例如:
- 第一项
* 第二项
+ 第三项
这三种符号都可以用于创建无序列表,效果是一样的。
最佳实践:
- 在同一个列表中,不要混合使用不同的分隔符。保持分隔符的一致性可以使列表看起来更加整齐规范,避免出现格式混乱的情况。
- 要使无序列表的条目以数字开头,需要使用反斜杠 (
\
) 进行转义。 例如:- 1968\. A great year!
,这样可以确保数字不会被误解析为有序列表的标记。
1.8.3 嵌套列表 (Nested Lists)
可以通过缩进列表项来创建嵌套列表。例如: