学习 Markdown
了解 Markdown
注

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 的设计理念是"易读易写",让人们能够使用简单的纯文本格式来编写结构化文档。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
1.换行
Markdown 的换行格式与一般的文本编辑不一样。一般需要多换一行:
例如输入以下内容:
我爱悠悠狮羝
悠悠狮羝爱我在 Markdown 中则会显示:
我爱悠悠狮羝悠悠狮羝爱我当在中间多换一行时:
我爱悠悠狮羝
悠悠狮羝爱我就会正常显示成:
我爱悠悠狮羝
悠悠狮羝爱我所以在编辑 Markdown 文本中,记得通常需要多换一行。
2.标题
在 Markdown 中,通常使用 # 来检测标题。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题通常情况下,LumiDoc 将自动识别所有的标题。但在处理侧边栏快捷列表时,将只会细分到三级标题。
3.粗体、斜体与斜粗体
这段文字包含粗体、斜体和粗斜体的组合效果。
这段文字包含**粗体**、*斜体*和***粗斜体***的组合效果。粗体请用**[文字]**表示。
斜体请用*[文字]*表示。
斜粗体请用***[文字]***表示。
4.有序列表与无序列表
在无序列表中,有三个指示无序列表的字符:-、*和+。当编写列表时,就应忽略 Markdown 的隔行换行,需回归普通文本的换行模式(也就是不多换一行)。此外,出现列表指示字符-、*和+时,在这些字符后面需要加一个空格,这能让 Markdown 正确识别列表格式
- 这是无序列表
- 这是无序列表的第二个
- 这是无序列表的第三个
- 这是无序列表
- 这是无序列表的第二个
- 这是无序列表的第三个
或者:
* 这是无序列表
* 这是无序列表的第二个
* 这是无序列表的第三个
或者:
+ 这是无序列表
+ 这是无序列表的第二个
+ 这是无序列表的第三个对于有序列表,操作更加简单:
- 直接采用 “1. 2. 3. ...” 的格式,在每行开头写上即可
- 但请注意在序号后面有一个空格,“1._[内容]”
- 当输入了正确的有序列表后,一般的编辑器都会正确高亮数字
1. 直接采用 “1. 2. 3. ...” 的格式,在每行开头写上即可
2. 但请注意在序号后面有一个空格,“1._[内容]”
3. 当输入了正确的有序列表后,一般的编辑器都会正确高亮数字
// 注意:每个序号后都请输入一个空格再填写内容提示
有序列表中的数字可以不连续。
完全可以按照 1. 8. 9. 的顺序写有序列表,Markdown 会修正成1. 2. 3.。
但是,有序列表的第一个数字将会决定该有序列表的起始数字。
如按照 5. 9. 12. 的顺序写有序列表,Markdown 会显示成5. 6. 7.。
注意
错误格式:
-我是错误的列表
-我是错误的列表
*我是错误的列表
*我是错误的列表
1.我是错误的有序列表
2.我是错误的有序列表
引用
这就是一个引用块。
一般来说可以当作文档的引言、或者一段注释。引用采用
>大于号来表达,记得每行都要加一个空格。
如果你在引用之间留空一行时,将会进入第二段引用。引用和标题一样,也可以采用嵌套。
- 引用里还可以加入有序或无序列表
- 查看下面的源代码来看看这段文字是如何输入的。
> 这就是一个引用块。
> 一般来说可以当作文档的引言、或者一段注释。
>
> 引用采用 `>` 大于号来表达,记得每行都要加一个空格。
> 如果你在引用之间留空一行时,将会进入第二段引用。
> > 引用和标题一样,也可以采用嵌套。
> > > - 引用里还可以加入有序或无序列表
> > > - 查看下面的源代码来看看这段文字是如何输入的。代码片段
print() 这就是一个行内代码,大小与正文相同,可以指出代码中某一个特征等。
通过反引号 ` 包裹住代码,即可显示行内代码:
`print()` 这就是一个行内代码如果需要显示一大片代码,即用三个反引号 ``` 包裹起来。此时形成一个大代码块。在代码块里,就不需要按照 Markdown 的规范来换行了。直接粘贴代码即可。
此外,在开头的三个反引号 ``` 后,可以定义代码块的格式,如HTML 或者 Markdown 或者 js 等。
比如下面是 TypeScript 简称 ts 的代码:
import { defineUserConfig } from "vuepress";
import theme from "./theme.js";
export default defineUserConfig({
base: "/",
lang: "zh-CN",
title: "LumiDoc | 由 悠悠狮羝LumiCornX 建立的文档网站",
description: "寻找你喜欢的一切。",
});在代码块的右上角隐藏了一个复制按钮。光标靠近时会显示这个按钮,可以一键复制代码。
链接
其实就是一个简单的超链接,比如说 我是 Bilibiili 官网。
[我是 Bilibiili 官网](https://www.bilibili.com)还有一些独特的玩法,比如 请将鼠标放在我身上,但不要点开我
一般来说,Markdown 的链接采用一个比较固定的格式:[链接显示的文本](实际链接 "鼠标悬停时的信息")。
此处鼠标悬停时的信息除了会在鼠标悬停时显示之外,其还能帮助无障碍访问。建议按照规范正确填写。
注
这里的链接并不只是网页链接。还可以是其他的链接,比如:
- 邮箱链接
[发送邮件](mailto:example@email.com) - 电话链接
[拨打电话](tel:+86-138-0013-8000) - 段落
[进入第一标题](#第一标题)注意这里的标题中的#后面无需添加空格;如果遇到英文字母则默认全小写即可
图片
Markdown 允许你添加 LumiDoc 内现有的图片或自定义的云端图片。
如链接一样,但需在前面添加一个半角字符 !。


注意
LumiDoc 不会存储你的图片,如果想要将图片显示在你的文档上,则需要将图片转换成 URL 格式保存在互联网上。
LumiDoc 将会在未来发布自主的图床系统,届时可将图片存储在 LumiDoc 中。
图片描述也是一个重要的无障碍功能。建议按照规范正确填写。
表格
| 表头 | 表头 |
|---|---|
| 单元格 | 单元格 |
| 单元格 | 单元格 |
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |表格和引用是 Markdown 中重要的内容组织工具。
表格能够清晰地展示结构化数据,而引用则用于突出重要信息或引用他人观点。
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
语法要点:
- 表头和数据行之间必须有分隔线
- 分隔线至少需要三个连字符
--- - 两端的竖线
|是可选的,但建议保留以提高可读性 - 不需要严格对齐,但对齐后更美观
我们可以设置表格的对齐方式:
---: 设置内容和标题栏居右对齐。:--- 设置内容和标题栏居左对齐。:---: 设置内容和标题栏居中对齐。
| 左对齐 | 右对齐 | 居中对齐 |
|---|---|---|
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |如果表格内文本过长导致排版杂乱无章,可以使用 HTML 中的 <br> 来表达换行:
| 项目 | 详细说明 |
|---|---|
| 需求分析 | 1. 收集用户需求 2. 分析业务场景 3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript 后端:Node.js + Express 数据库:MongoDB |
| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 1. 收集用户需求<br>2. 分析业务场景<br>3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript<br>后端:Node.js + Express<br>数据库:MongoDB |HTML 格式支持
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等 ,如:
使用 Ctrl+Alt+Del 重启电脑\
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑其他 HTML 语法可自行挖掘 主要是因为这已经超出 Markdown 的范围了。
LaTeX 支持
LaTeX 是能显示数学公式的一种解决方案。
行内数学公式:$...$
数学片段模式:
$$...$$
$$
...
$$比如下面是一个数学公式:
$$ \frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right)
= \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^ Ir \cdots (r-i+1) (\log y)^{ri}} {\omega^i} \right\} $$分割线
以上就是五条分割线。分割线只需三个短横线 --- 即可显示。
默认情况下,每一个大标题都自带一个分割线,所以这个功能稍显多余。