Markdown 完整语法测试博客
这是一篇用于测试 Markdown 渲染的综合性文章,涵盖所有常用语法。
1. 标题层级
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
2. 文本样式
粗体文本 和 斜体文本 以及 粗斜体文本
删除线文本
下划线文本(HTML 方式)
这是高亮文本
上标:X2 下标:H2O
行内代码 示例
3. 列表
无序列表
- 项目一
- 嵌套项目 1.1
- 嵌套项目 1.2
- 三级嵌套
- 项目二
- 项目三
有序列表
- 第一步
- 第二步
- 子步骤 2.1
- 子步骤 2.2
- 第三步
任务列表
- 已完成任务
- 另一个已完成任务
- 未完成任务
- 待办事项
4. 链接与图片
链接
https://example.com (自动链接)
图片
带尺寸控制(HTML 方式):
5. 引用
这是一段引用文本。
引用可以包含多个段落。
嵌套引用
二级引用
三级引用
引用中的格式
- 可以包含列表
- 也可以包含
代码
6. 代码
行内代码
使用 console.log() 输出信息,或者 SELECT * FROM users 查询数据。
代码块
javascript
// JavaScript 示例
// # 这不是标题,这是注释
function fibonacci(n) {
// ## 递归实现
if (n <= 1) return n;
// ### 核心逻辑
return fibonacci(n - 1) + fibonacci(n - 2);
}
// # TODO: 优化性能
// ## 可以使用动态规划
const result = fibonacci(10);
console.log(`斐波那契数列第10项: ${result}`);
python
# Python 示例
# # 这是注释不是标题
# ## 二级注释测试
# ### 三级注释测试
def quicksort(arr):
# # 快速排序实现
if len(arr) <= 1:
return arr
# ## 选择基准值
pivot = arr[len(arr) // 2]
# ### 分区操作
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
# #### 递归排序
return quicksort(left) + middle + quicksort(right)
# # 主程序入口
print(quicksort([3, 6, 8, 10, 1, 2, 1]))
sql
-- SQL 示例
-- # 用户订单查询
-- ## 关联查询部分
SELECT
u.id,
u.username,
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.username
-- #### 过滤分组
HAVING COUNT(o.id) > 5
ORDER BY order_count DESC;
bash
#!/bin/bash
# # Shell 脚本示例
# ## 循环处理
# ### 迭代输出
for i in {1..5}; do
# # 这里是循环体
echo "迭代次数: $i" # ## 输出当前次数
sleep 1
done
# #### 脚本结束
diff
- 这是删除的行
+ 这是新增的行
这是未变化的行
# 这是注释行,不是标题
## 另一个注释
code
# 无语言标识的代码块
## 测试是否识别为标题
### 应该保持原样显示
function test() {
# 这是函数内部
echo "Hello World"
}
# 结束
7. 目录树结构
项目目录结构
code
my-project/
├── src/
│ ├── components/
│ │ ├── Header.tsx
│ │ ├── Footer.tsx
│ │ └── Sidebar/
│ │ ├── index.tsx
│ │ └── styles.css
│ ├── pages/
│ │ ├── Home.tsx
│ │ ├── About.tsx
│ │ └── Contact.tsx
│ ├── utils/
│ │ ├── helpers.ts
│ │ └── constants.ts
│ ├── App.tsx
│ └── main.tsx
├── public/
│ ├── favicon.ico
│ └── images/
│ ├── logo.png
│ └── banner.jpg
├── tests/
│ ├── unit/
│ │ └── helpers.test.ts
│ └── e2e/
│ └── app.spec.ts
├── docs/
│ ├── README.md
│ ├── API.md
│ └── CHANGELOG.md
├── .gitignore
├── package.json
├── tsconfig.json
├── vite.config.ts
└── README.md
Linux 系统目录结构
code
/
├── bin/ # 基本命令二进制文件
├── boot/ # 引导加载程序文件
├── dev/ # 设备文件
├── etc/ # 系统配置文件
│ ├── nginx/
│ │ ├── nginx.conf
│ │ └── sites-available/
│ ├── ssh/
│ │ └── sshd_config
│ └── systemd/
├── home/ # 用户主目录
│ ├── user1/
│ │ ├── .bashrc
│ │ ├── .config/
│ │ └── Documents/
│ └── user2/
├── lib/ # 共享库文件
├── media/ # 可移动媒体挂载点
├── mnt/ # 临时挂载点
├── opt/ # 第三方软件
├── proc/ # 进程信息虚拟文件系统
├── root/ # root 用户主目录
├── sbin/ # 系统二进制文件
├── srv/ # 服务数据
├── sys/ # 系统设备虚拟文件系统
├── tmp/ # 临时文件
├── usr/ # 用户程序
│ ├── bin/
│ ├── lib/
│ ├── local/
│ └── share/
└── var/ # 可变数据
├── log/
├── cache/
└── www/
复杂嵌套目录
code
enterprise-app/
├── .github/
│ ├── workflows/
│ │ ├── ci.yml
│ │ ├── cd.yml
│ │ └── release.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── PULL_REQUEST_TEMPLATE.md
├── packages/
│ ├── core/
│ │ ├── src/
│ │ │ ├── index.ts
│ │ │ ├── types/
│ │ │ │ ├── index.d.ts
│ │ │ │ └── global.d.ts
│ │ │ └── utils/
│ │ │ ├── format.ts
│ │ │ ├── validate.ts
│ │ │ └── transform.ts
│ │ ├── tests/
│ │ ├── package.json
│ │ └── tsconfig.json
│ ├── ui/
│ │ ├── src/
│ │ │ ├── components/
│ │ │ │ ├── Button/
│ │ │ │ │ ├── Button.tsx
│ │ │ │ │ ├── Button.test.tsx
│ │ │ │ │ ├── Button.stories.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── Input/
│ │ │ │ ├── Modal/
│ │ │ │ └── Table/
│ │ │ ├── hooks/
│ │ │ ├── styles/
│ │ │ └── index.ts
│ │ ├── package.json
│ │ └── tsconfig.json
│ └── shared/
│ ├── src/
│ ├── package.json
│ └── tsconfig.json
├── apps/
│ ├── web/
│ │ ├── src/
│ │ ├── public/
│ │ └── package.json
│ ├── admin/
│ │ ├── src/
│ │ └── package.json
│ └── mobile/
│ ├── src/
│ ├── android/
│ ├── ios/
│ └── package.json
├── scripts/
│ ├── build.sh
│ ├── deploy.sh
│ └── setup.sh
├── docker/
│ ├── Dockerfile
│ ├── Dockerfile.dev
│ └── docker-compose.yml
├── .env.example
├── .eslintrc.js
├── .prettierrc
├── lerna.json
├── package.json
├── pnpm-workspace.yaml
└── turbo.json
8. 表格
基础表格
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 单元格 | 单元格 | 单元格 |
| 数据1 | 数据2 | 数据3 |
复杂表格
| 功能 | 语法 | 渲染效果 | 支持度 |
|---|---|---|---|
| 粗体 | **text** | text | ✅ |
| 斜体 | *text* | text | ✅ |
| 代码 | `code` | code | ✅ |
| 链接 | [text](url) | text | ✅ |
| 删除线 | ~~text~~ | ⚠️ |
9. 数学公式
行内公式
质能方程 是物理学中最著名的公式之一。
二次方程求根公式为 。
欧拉恒等式 被称为最美的数学公式。
块级公式
10. Mermaid 图表
流程图
时序图
类图
状态图
甘特图
饼图
ER 图
11. 分隔线
三种写法:
12. HTML 元素
折叠内容
点击展开详细信息
这里是折叠的内容,可以包含:
- 列表项
- 格式化文本
代码片段
javascript
// # 折叠区域内的代码
// ## 测试 # 号
console.log("折叠区域内的代码");
键盘按键
使用 Ctrl + C 复制,Ctrl + V 粘贴。
文本对齐
居中对齐的文本
右对齐的文本
颜色标记(部分平台支持)
13. 脚注
这是一个带脚注的句子1。
这是另一个脚注示例2。
14. 定义列表(部分渲染器支持)
术语一 : 这是术语一的定义。
术语二 : 这是术语二的定义。 : 术语可以有多个定义。
15. 转义字符
显示特殊字符需要使用反斜杠转义:
*不是斜体*
# 不是标题
[不是链接]
`不是代码`
16. Emoji(部分平台支持)
:smile: :heart: :thumbsup: :rocket: :star:
或直接使用 Unicode:😀 ❤️ 👍 🚀 ⭐
17. 目录生成标记
[TOC]
或
[[toc]]
(不同渲染器语法不同)
18. 配置文件代码块(# 号测试)
yaml
# # YAML 配置文件示例
# ## 应用配置部分
server:
# # 服务器设置
host: localhost # ## 主机地址
port: 8080 # ### 端口号
database:
# ## 数据库配置
driver: postgres
# ### 连接信息
host: db.example.com
port: 5432
name: myapp
# #### 认证信息
user: admin
password: secret
# # 日志配置
logging:
level: info
# ## 输出格式
format: json
toml
# # TOML 配置示例
# ## 基础配置段
[server]
# # 服务配置
host = "0.0.0.0"
port = 3000
[database]
# ## 数据库配置
url = "postgres://localhost/db"
# ### 连接池设置
max_connections = 100
ini
# # INI 配置文件
# ## 主配置区
[main]
# 应用名称
name = MyApplication
# ## 版本号
version = 1.0.0
[database]
# # 数据库设置
# ## 连接字符串
connection = mysql://localhost:3306/app
nginx
# # Nginx 配置文件
# ## 服务器块
server {
# # 监听配置
listen 80;
listen [::]:80;
# ## 服务器名
server_name example.com www.example.com;
# ### 根目录
root /var/www/html;
location / {
# # 尝试文件
try_files $uri $uri/ =404;
}
# #### 静态资源缓存
location ~* \.(js|css|png|jpg)$ {
expires 30d;
}
}
dockerfile
# # Dockerfile 示例
# ## 基础镜像
FROM node:18-alpine
# # 工作目录设置
WORKDIR /app
# ## 复制依赖文件
COPY package*.json ./
# ### 安装依赖
RUN npm ci --only=production
# #### 复制源代码
COPY . .
# # 暴露端口
EXPOSE 3000
# ## 启动命令
CMD ["node", "server.js"]
makefile
# # Makefile 示例
# ## 变量定义
CC = gcc
CFLAGS = -Wall -O2
# # 目标规则
# ## 默认目标
all: main
# ### 编译主程序
main: main.o utils.o
# #### 链接
$(CC) -o $@ $^
# # 清理规则
clean:
rm -f *.o main
总结
| 语法类别 | 测试项 | 数量 |
|---|---|---|
| 基础文本 | 标题、样式、列表 | 6 |
| 链接媒体 | 链接、图片 | 4 |
| 代码相关 | 行内、代码块、目录树 | 8 |
| 高级特性 | 公式、图表、脚注 | 8 |
| 总计 | - | 26 |
部分语法依赖渲染器的具体实现,可能存在兼容性差异。
Footnotes
目录
作者
千
千叶
全栈开发者