1958 字
10 分钟

Markdown 语法

本项目支持的常用 Markdown 语法

这是一篇给本项目使用的手写语法速查模板。复制下面的示例即可。

Markdown 基础语法#

标题#

# 一级标题
## 二级标题
### 三级标题

一级标题

二级标题

三级标题

强调#

这是**加粗**,这是*斜体*,这是~~删除线~~。

这是加粗,这是斜体,这是删除线。

列表#

- 无序项 A
- 无序项 B
1. 有序项 1
2. 有序项 2
  • 无序项 A
  • 无序项 B
  1. 有序项 1
  2. 有序项 2

引用#

> 这是一段普通引用。

这是一段普通引用。

分隔线#

---

链接与图片#

[项目主页](https://github.com/suichyan/fuwari)
![示例图片](../../assets/images/banner-nacho.png)

项目主页

示例图片

代码与结构#

行内代码#

使用 `pnpm dev` 启动开发服务器。

使用 pnpm dev 启动开发服务器。

围栏代码#

```bash
pnpm install
pnpm dev
```
```nix
{ config, pkgs, ... }:
{
services.openssh.enable = true;
}
```
Terminal window
pnpm install
pnpm dev
{ config, pkgs, ... }:
{
services.openssh.enable = true;
}

代码块标题#

```ts title="src/utils/math.ts"
export function add(a: number, b: number) {
return a + b;
}
```
src/utils/math.ts
export function add(a: number, b: number) {
return a + b;
}

代码块单行高亮#

```ts {2}
export function add(a: number, b: number) {
return a + b;
}
```
export function add(a: number, b: number) {
return a + b;
}

代码块单行加减标记#

```ts del={2} ins={3}
const oldValue = 1;
const newValue = 2;
console.log(newValue);
```
const oldValue = 1;
const newValue = 2;
console.log(newValue);

代码块多行与区间高亮#

```ts {1,3-4}
const a = 1;
const b = 2;
const c = a + b;
console.log(c);
```
const a = 1;
const b = 2;
const c = a + b;
console.log(c);

代码块行内文本高亮#

```ts "newValue"
const oldValue = 1;
const newValue = 2;
console.log(newValue);
```
const oldValue = 1;
const newValue = 2;
console.log(newValue);

代码块行内文本加减标记#

```ts ins="newValue" del="oldValue"
const oldValue = 1;
const newValue = 2;
console.log(newValue);
```
const oldValue = 1;
const newValue = 2;
console.log(newValue);

代码块行号控制#

```ts showLineNumbers startLineNumber=20
const a = 1;
const b = 2;
console.log(a + b);
```
```ts showLineNumbers=false
const hideLineNumber = true;
console.log(hideLineNumber);
```
const a = 1;
const b = 2;
console.log(a + b);
const hideLineNumber = true;
console.log(hideLineNumber);

代码块折叠区段#

```ts collapse={1-3} collapseStyle="collapsible-start"
import { readFileSync } from "node:fs";
import { join } from "node:path";
const fileContent = readFileSync(join(process.cwd(), "README.md"), "utf-8");
console.log(fileContent.length);
```
3 collapsed lines
import { readFileSync } from "node:fs";
import { join } from "node:path";
const fileContent = readFileSync(join(process.cwd(), "README.md"), "utf-8");
console.log(fileContent.length);

代码块框架样式覆盖#

```bash frame="none"
pnpm build
```
pnpm build

代码块文件名注释标题(自动提取)#

Markdown
```ts
// src/lib/calc.ts
export const sum = (a: number, b: number) => a + b;
```
src/lib/calc.ts
export const sum = (a: number, b: number) => a + b;

终端代码块标题#

```powershell title="终端标题示例"
Write-Output "这个终端窗口带标题"
```
终端标题示例
Write-Output "这个终端窗口带标题"

ANSI 转义序列渲染#

支持通过 ANSI 转义序列在代码块中渲染彩色文本与格式。将其语言设置为 ansi 即可。

基础颜色#

支持展示标准的 ANSI 8 色及其加粗、变暗变体:

```ansi
ANSI 基础颜色:
- 正常: 红色 绿色 黄色 蓝色 洋红 青色
- 加粗: 红色 绿色 黄色 蓝色 洋红 青色
- 变暗: 红色 绿色 黄色 蓝色 洋红 青色
```
Terminal window
ANSI 基础颜色:
- 正常: 红色 绿色 黄色 蓝色 洋红 青色
- 加粗: 红色 绿色 黄色 蓝色 洋红 青色
- 变暗: 红色 绿色 黄色 蓝色 洋红 青色

256 色调色盘#

可以使用 256 色模式渲染,这里以 160 到 177 取值为例:

```ansi
256 色 (展示 160-177):
160 161 162 163 164 165
166 167 168 169 170 171
172 173 174 175 176 177
```
Terminal window
256 色 (展示 160-177):
160 161 162 163 164 165
166 167 168 169 170 171
172 173 174 175 176 177

全真 RGB 颜色与文本格式化#

支持按照自定义 RGB 值渲染,以及设置文本格式,例如斜体、下划线:

```ansi
全真 RGB 颜色:
森林绿 - RGB(34, 139, 34)
文本格式化: 加粗 变暗 斜体 下划线
```
Terminal window
全真 RGB 颜色:
森林绿 - RGB(34, 139, 34)
文本格式化: 加粗 变暗 斜体 下划线

diff 风格加减写法#

```diff
+ 这行会被标记为新增
- 这行会被标记为删除
这是一行普通内容
```
这行会被标记为新增
这行会被标记为删除
这是一行普通内容

diff 写法结合语法高亮#

```diff lang="js"
function thisIsJavaScript() {
// 保持 JS 高亮,同时支持差异标记
- console.log('旧代码将被移除')
+ console.log('新代码已添加')
}
```
function thisIsJavaScript() {
// 保持 JS 高亮,同时支持差异标记
console.log('旧代码将被移除')
console.log('新代码已添加')
}

行标记标签#

```ts {"A":2} del={"B":3} ins={"C":4}
const keep = true;
const removeMe = false;
const addMe = true;
```
const keep = true;
const removeMe = false;
const addMe = true;

行内文本正则标记#

```ts /已[启停]用/
console.log('关键词“已启用”和“已停止”会被标记。');
```
console.log('关键词“已启用”和“已停用”会被标记。');

正则中转义斜杠#

```sh /\/home\//
echo "测试" > /home/test.txt
```
Terminal window
echo "测试" > /home/test.txt

按代码块控制自动换行#

```ts wrap=false
function 获取超长文本() {
return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';
}
```
function 获取超长文本() {
return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';
}

控制换行后缩进对齐#

```ts preserveIndent=false
function 获取超长文本() {
return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';
}
```
function 获取超长文本() {
return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';
}

表格#

| 命令 | 说明 |
| ---------- | -------------- |
| pnpm dev | 启动开发服务器 |
| pnpm build | 构建生产版本 |
命令说明
pnpm dev启动开发服务器
pnpm build构建生产版本

任务列表#

- [x] 已完成项
- [ ] 待办项
  • 已完成项
  • 待办项

HTML 写法(Markdown 中可直接使用)#

<details>
<summary>点击展开</summary>
这里是折叠内容。
</details>
点击展开 这里是折叠内容。

Markdown 进阶(通用扩展)#

数学公式(KaTeX)#

行内公式#

勾股定理:$a^2 + b^2 = c^2$。

勾股定理:a2+b2=c2a^2 + b^2 = c^2。

块级公式#

$$
\int_0^1 x^2\,dx = \frac{1}{3}
$$
∫01x2 dx=13\int_0^1 x^2\,dx = \frac{1}{3}

Markdown 扩展功能#

GitHub 仓库卡片#

可以通过 ::github{repo="<owner>/<repo>"} 在文章中插入动态 GitHub 仓库卡片。

::github{repo="saicaca/fuwari"}
saicaca
/
fuwari
Waiting for api.github.com...
00K
0K
0K
Waiting...

提示块#

支持的类型:note、tip、important、warning、caution。

基础写法#

:::note
即使快速浏览,也建议留意这条信息。
:::
:::tip
这是可选建议,能帮助你更顺利完成操作。
:::
:::important
这是关键说明,通常和正确使用方式有关。
:::
:::warning
这是风险提示,请优先确认后再执行。
:::
:::caution
该操作可能带来负面后果,请谨慎处理。
:::
NOTE

即使快速浏览,也建议留意这条信息。

TIP

这是可选建议,能帮助你更顺利完成操作。

IMPORTANT

这是关键说明,通常和正确使用方式有关。

WARNING

这是风险提示,请优先确认后再执行。

CAUTION

该操作可能带来负面后果,请谨慎处理。

自定义标题#

:::note[自定义标题]
这是一条带自定义标题的提示块。
:::
自定义标题

这是一条带自定义标题的提示块。

GitHub 风格写法#

> [!NOTE]
> 也支持 GitHub 风格的提示写法。
> [!TIP]
> 也支持 GitHub 风格的提示写法。
NOTE

也支持 GitHub 风格的提示写法。

TIP

也支持 GitHub 风格的提示写法。

指令语法扩展(remark-directive)#

行内指令#

水的化学式是 H:sub[2]O,平方写作 x:sup[2]。

水的化学式是 H2O,平方写作 x2。

Markdown 语法
https://blog.suichyan.top/posts/markdown_syntax_cheatsheet/
作者
Sui
发布于
2026-03-25
许可协议
CC BY-NC-SA 4.0