Markdown 是一种轻量级标记语言,允许使用易读易写的纯文本格式编写文档。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
Markdown 并不是 HTML 的替代品,而是 HTML 的简化版本。实际上,Markdown 的最终目标就是转换为 HTML。
Markdown 源码 → 解析器 → HTML 输出 → 浏览器渲染
VS Code 自带对 Markdown 的支持,支持语法高亮、预览、导出等功能。
实时预览需要执行 Markdown: Open Preview to the Side 命令来实现。
如果使用 VS Code 等编辑器,按 Ctrl+Shift+V 打开预览面板,也可以点击右上角的预览图标
如果你需要将 markdown 转为 PDF、图片、HTML 等格式也可以安装对应的插件来实现
两种格式:= 和 -以及#
我展示的是一级标题
=================
我展示的是二级标题
-----------------
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
行首位置:# 号必须在行首,前面不能有其他字符(空格或制表符)。
粗体语法:使用两个星号 ** 或两个下划线 __ 包围文字
斜体语法:使用一个星号 * 或一个下划线 _ 包围文字
粗斜体组合:使用三个星号 *** 或三个下划线 ___包围文字
这是**粗体文字**使用星号
这是__粗体文字__使用下划线
这是*斜体文字*使用星号
这是_斜体文字_使用下划线
***粗斜体文字***
___粗斜体文字___
单行:使用一个反引号 ` 包围代码
`git commit`
git commit
包含反引号的代码:当代码本身包含反引号时,使用两个反引号包围。
`` `code` ``
`code`
多行:使用三个反引号 ``` 包围代码。其后可以接语言标识符(py,javascript/js,json,css,yaml,sql,html,bash,powershell等)启用语法高亮功能。
JavaScript:
const users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 }
];
const adults = users.filter(user => user.age >= 18);
console.log(adults);
SQL:
SELECT u.name, u.email, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at >= '2024-01-01'
GROUP BY u.id, u.name, u.email
ORDER BY order_count DESC
LIMIT 10;
1. 准备阶段
1. 收集资料
2. 制定计划
2. 执行阶段
1. 开始实施
2. 监控进度
3. 总结阶段
1. 主要任务
- 子任务A
- 子任务B
1. 详细步骤1
2. 详细步骤2
- 子任务C
2. 次要任务
列表项中包含多段内容: 与列表项对齐缩进
1. 第一项
这是第一项的详细说明,需要与列表项对齐缩进。
还可以包含第二段内容。
2. 第二项
> 可以在列表项中使用引用
在段落开头使用 > 符号 ,然后后面紧跟一个空格符号。换行同前
> 这是引用的第一行。(这后面有两个空格)
> 这是引用的第二行。
>
> 这是引用的第二段。
或者只在第一行使用 > ,其余行会自动包含在引用中
> 这是一个长引用,
包含多行内容,
只需要在第一行使用 > 符号。
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
引用块内可以包含几乎所有其他 Markdown 元素
将链接定义与使用分离,让文档更整洁,特别适合长文档或需要多次引用相同链接的情况。
当参考标签与链接标题相同时,可以省略第二个方括号
markdown[链接标题][参考标签]
[参考标签]: URL "可选标注"
现代 Markdown 解析器通常支持自动识别 URL 和邮箱地址
markdown直接输入网址:https://www.example.com
markdown直接输入网址:https://www.example.com
## 目录
- [第一章:介绍](#第一章介绍)
- [第二章:安装](#第二章安装)
- [第三章:使用方法](#第三章使用方法)
# 第一章:介绍
这里是介绍内容...
# 第二章:安装
这里是安装说明...
# 第三章:使用方法
这里是使用说明...
<a id="custom-anchor"></a>
#### 锚点示例位置
[点击跳转到锚点示例位置](#custom-anchor)
[回到顶部](#)

也可以像链接网址那样对图片网址使用变量
Markdown 还没有办法指定图片的高度与宽度,如果需要的话,你可以使用 <img> 标签。
<img src="image.jpg" alt="描述文字" width="300" height="200">
<img src="image.jpg" alt="描述文字" style="width: 300px; height: auto;">
<img src="image.jpg" alt="描述文字" style="max-width: 100%; height: auto;">
<!-- 居中对齐 -->
<div align="center">
<img src="image.jpg" alt="居中图片" width="400">
</div>
<!-- 左对齐(默认) -->
<img src="image.jpg" alt="左对齐图片" style="float: left; margin-right: 20px;">
<!-- 右对齐 -->
<img src="image.jpg" alt="右对齐图片" style="float: right; margin-left: 20px;">
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
| 表头 | 表头 |
|---|---|
| 单元格 | 单元格 |
| 单元格 | 单元格 |
表格单元格内可以使用大部分 Markdown 语法
| 功能 | 描述 | 状态 |
|---|---|---|
| 用户登录 | 支持邮箱和手机号登录 | ✅ |
| 密码重置 | 通过邮箱重置密码 | ⚠️ |
API接口 |
RESTful API 设计 | ✅ |
| 文档链接 | 查看详细文档 | 📖 |
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
使用 <br>
| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 1. 收集用户需求<br>2. 分析业务场景<br>3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript<br>后端:Node.js + Express<br>数据库:MongoDB |
| 项目 | 详细说明 |
|---|---|
| 需求分析 | 1. 收集用户需求 2. 分析业务场景 3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript 后端:Node.js + Express 数据库:MongoDB |
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等
在 Markdown 中,数学公式通过 LaTeX 语法来表示。
基本语法结构
行内公式使用单个美元符号 $ 包围
块级公式使用两个美元符号 $$ 包围
变量 $x = 5$ 和函数 $f(x) = x^2 + 2x + 1$。
$$E = mc^2$$
$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
变量 $x = 5$ 和函数 $f(x) = x^2 + 2x + 1$。
$$E = mc^2$$$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$多行公式
使用 align 环境创建多行对齐公式
$$
\begin{align}
f(x) &= ax^2 + bx + c \\
f'(x) &= 2ax + b \\
f''(x) &= 2a
\end{align}
$$
其余自行了解latex语法
Mermaid 是最流行的 Markdown 图表工具之一,它允许你使用简单的文本语法生成各种图表。
支持图表类型:流程图 (Flowchart),序列图 (Sequence Diagram),类图 (Class Diagram),状态图 (State Diagram),甘特图 (Gantt Chart),饼图 (Pie Chart)
```mermaid
graph TD
A[开始] --> B{条件判断}
B -->|Yes| C[执行操作A]
B -->|No| D[执行操作B]
C --> E[结束]
D --> E
流程图方向
节点形状
连接线类型
```mermaid
sequenceDiagram
participant A as 用户
participant B as 系统
participant C as 数据库
A->>B: 登录请求
B->>C: 验证用户信息
C-->>B: 返回验证结果
B-->>A: 登录成功/失败
```mermaid
gantt
title 项目开发计划
dateFormat YYYY-MM-DD
section 设计阶段
需求分析 :done, des1, 2024-01-01,2024-01-15
UI设计 :active, des2, 2024-01-10, 30d
section 开发阶段
前端开发 : dev1, after des2, 45d
后端开发 : dev2, 2024-02-01, 60d
section 测试阶段
单元测试 : test1, after dev1, 15d
集成测试 : test2, after dev2, 10d
```mermaid
pie
title 浏览器市场份额
"Chrome" : 65
"Safari" : 15
"Firefox" : 10
"其他" : 10
```mermaid
classDiagram
class 用户 {
+用户名: string
+密码: string
+登录()
}
class 订单 {
+订单号: int
+创建日期: date
+计算总价()
}
用户 "1" --> "n" 订单
Mermaid 允许自定义图表样式:
```mermaid
%%{init: {'theme': 'forest'}}%%
pie
title 自定义主题
"项目A" : 30
"项目B" : 50
"项目C" : 20
一些工具支持添加交互功能:
```mermaid
graph TD
A[点击我] --> B[显示详细信息]
click A "https://www.runoob.com" "这是提示文本"
Obsidian 的定位是本地 Markdown 笔记系统,用文件夹和纯文本驱动知识结构。
Obsidian 不依赖云端格式,不锁用户数据,任何时间可迁移,可被任意编辑器读取。
Obsidian 官方网站: https://obsidian.md/

Obsidian 的插件分为两大类:核心插件和社区插件,可以在设置选择打开查看。