Markdown 基本语法
什么是 Markdown?
Markdown 是一种轻量级标记语言,语法简单,重点关注内容本身而非排版。它使用易读易写的纯文本格式撰写文档,因简洁、高效、格式样式心智负担低、内容密度高,而被大量使用。
什么是标记?
标记是 markdown 的核心,markdown 解析器依据 markdown 文本中的标记对相应的文本进行按照内置的样式进行渲染,呈现文档效果。
因此,我们不需要考虑文本会以怎么样的具体的效果展示,而是考虑文本应该以什么语义效果展示,比如,我们只想将 什么是标记? 以语义为 二级标题 的效果展示,而不需要关注 二级标题 文字大小多少、什么字体、段落间距多少等,这些事项由 markdown 解析器根据默认配置或自定义配置进行控制。
不同的语义对应不同的标记,markdown 中一部分为行内标记,一部分为块标记。一般来说,多数行内标记在标记与内容之间有一个空格,例如 # 这是一级标题、## 这是二级标题,# 标记表示一级标题,它会将 这是一级标题 文本渲染出一级标题效果。
标题语法
创建标题的标记是:# ,即在标题内容之前加上一个 # 符号和一个空格。# 的数量代表了标题的级别,例如,### 表示三级标题。
语法:
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题[!NOTE]
后续为了预览效果不影响文章结构,预览效果尽可能的都会放置于引用块中。
预览效果:
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
段落语法
markdown 中通过空行分隔段落,若要将两部分文本分隔为两段。必须在这两部分文本中加入一个空行,而不是换行。
语法:
这是第一段。
这是第二段。预览效果:
这是第一段。
这是第二段。
强调语法
markdown 中通过使用标记 ** 或者 __(兼容性比 ** 差)实现对文本的突出强调。
粗体(Bold)
在需要被加粗的文字前后分别加上两个星号(* ,asterisks)或下划线(_ ,underscores,推荐使用 *,_ 符号在不同 markdown 渲染器中表现不同,可能不受支持)。
语法:
模型的精确率是 **99.5%**。预览效果:
模型的精确率是 99.5%。
斜体(Italic)
在需要以斜体形式展示的文字前后分别加上一个星号或下划线。
语法:
模型的精确率是 *99.5%*。预览效果:
模型的精确率是 99.5%。
引用块语法
通过使用标记 > 来创建引用块,引用块支持多段文本、嵌套引用、与其他标记同步使用。
语法:
> 这是一个段落。预览效果:
这是一个引用块段落。通常可以用于引用他人言论等。
多段引用块
引用块允许包含多个段落。为段落之间的空行添加一个 > 符号,注意,段落之前的 > 不能少。
语法:
> 这是第一个段落。
>
> 这是第二个段落。预览效果:
这是第一个段落。
这是第二个段落。
嵌套引用块
引用块允许多级引用块嵌套。
语法:
> 这是第一级引用块。
>> 这是第二级引用块。
>>> 这是第三级引用块。预览效果:
这是第一级引用块。
这是第二级引用块。
这是第三级引用块。
与其他标记同时使用
引用块支持与其他标记一起使用,但并非所有的标记都支持。
语法:
> ### 三级标题
>
> - 无序列表
>
> 1. 有序列表预览效果:
三级标题
- 无序列表
- 有序列表
列表语法
Markdown 支持有序列表,无序列表,多级列表,嵌套列表。
有序列表
要创建一个有序列表,在每个列表项之前添加标记 n.,如 1. 、2.。注意,标记中的数字不影响渲染结果,渲染结果将以实际顺序显示编号,但推荐按照顺序编写标记编号。
语法:
1. 第一项
2. 第二项
3. 第三项
1. 第一项
1. 第一项
1. 第一项预览效果:
- 第一项
- 第二项
- 第三项
- 第一项
- 第一项
- 第一项
无序列表
要创建一个无序列表,在每个列表项之前添加标记 -、* 或 +。
语法:
- 无序列表
* 无序列表
+ 无序列表预览效果:
- 无序列表
- 无序列表
- 无序列表
代码语法
markdown 支持行内代码与块级代码两种展示代码的方式。
行内代码
要将内容以行内代码的形式展示,在内容前后分别加上标记一个反引号(\`)。
语法:
我习惯使用 `Langchain` 开发大模型 `Agent`。预览效果:
我习惯使用 Langchain 开发大模型 Agent。
块级代码
要将一段代码以代码块形式展示,在内容前一行和后一行分别加上标记三个反引号(\`)。在代码块的头部(\`\`\`)后加上语言类型,用于 markdown 解析器针对性提供高亮功能。
语法:
```python
# 导入 loadenv 加载环境变量
from dotenv import load_dotenv
load_dotenv(override=True)
```预览效果:
# 导入 loadenv 加载环境变量
from dotenv import load_dotenv
load_dotenv(override=True)