甘城なつき/Nachoneko💤
1958 字
10 分钟
Markdown 语法
本项目支持的常用 Markdown 语法
这是一篇给本项目使用的手写语法速查模板。复制下面的示例即可。
Markdown 基础语法
标题
# 一级标题## 二级标题### 三级标题一级标题
二级标题
三级标题
强调
这是**加粗**,这是*斜体*,这是~~删除线~~。这是加粗,这是斜体,这是删除线。
列表
- 无序项 A- 无序项 B
1. 有序项 12. 有序项 2- 无序项 A
- 无序项 B
- 有序项 1
- 有序项 2
引用
> 这是一段普通引用。这是一段普通引用。
分隔线
---链接与图片
[项目主页](https://github.com/suichyan/fuwari)

代码与结构
行内代码
使用 `pnpm dev` 启动开发服务器。使用 pnpm dev 启动开发服务器。
围栏代码
```bashpnpm installpnpm dev```
```nix{ config, pkgs, ... }:{ services.openssh.enable = true;}```pnpm installpnpm dev{ config, pkgs, ... }:{ services.openssh.enable = true;}代码块标题
```ts title="src/utils/math.ts"export function add(a: number, b: number) { return a + b;}```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=20const a = 1;const b = 2;console.log(a + b);```
```ts showLineNumbers=falseconst 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代码块文件名注释标题(自动提取)
```ts// src/lib/calc.tsexport const sum = (a: number, b: number) => a + b;```export const sum = (a: number, b: number) => a + b;终端代码块标题
```powershell title="终端标题示例"Write-Output "这个终端窗口带标题"```Write-Output "这个终端窗口带标题"ANSI 转义序列渲染
支持通过 ANSI 转义序列在代码块中渲染彩色文本与格式。将其语言设置为 ansi 即可。
基础颜色
支持展示标准的 ANSI 8 色及其加粗、变暗变体:
```ansiANSI 基础颜色:- 正常: [31m红色[0m [32m绿色[0m [33m黄色[0m [34m蓝色[0m [35m洋红[0m [36m青色[0m- 加粗: [1;31m红色[0m [1;32m绿色[0m [1;33m黄色[0m [1;34m蓝色[0m [1;35m洋红[0m [1;36m青色[0m- 变暗: [2;31m红色[0m [2;32m绿色[0m [2;33m黄色[0m [2;34m蓝色[0m [2;35m洋红[0m [2;36m青色[0m```ANSI 基础颜色:- 正常: 红色 绿色 黄色 蓝色 洋红 青色- 加粗: 红色 绿色 黄色 蓝色 洋红 青色- 变暗: 红色 绿色 黄色 蓝色 洋红 青色256 色调色盘
可以使用 256 色模式渲染,这里以 160 到 177 取值为例:
```ansi256 色 (展示 160-177):[38;5;160m160[0m [38;5;161m161[0m [38;5;162m162[0m [38;5;163m163[0m [38;5;164m164[0m [38;5;165m165[0m[38;5;166m166[0m [38;5;167m167[0m [38;5;168m168[0m [38;5;169m169[0m [38;5;170m170[0m [38;5;171m171[0m[38;5;172m172[0m [38;5;173m173[0m [38;5;174m174[0m [38;5;175m175[0m [38;5;176m176[0m [38;5;177m177[0m```256 色 (展示 160-177):160 161 162 163 164 165166 167 168 169 170 171172 173 174 175 176 177全真 RGB 颜色与文本格式化
支持按照自定义 RGB 值渲染,以及设置文本格式,例如斜体、下划线:
```ansi全真 RGB 颜色:[38;2;34;139;34m森林绿 - RGB(34, 139, 34)[0m
文本格式化: [1m加粗[0m [2m变暗[0m [3m斜体[0m [4m下划线[0m```全真 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```echo "测试" > /home/test.txt按代码块控制自动换行
```ts wrap=falsefunction 获取超长文本() { return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';}```function 获取超长文本() { return '这是一段很长很长的文本,在容器宽度不足时更容易观察到自动换行的差异效果';}控制换行后缩进对齐
```ts preserveIndent=falsefunction 获取超长文本() { 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$。勾股定理:。
块级公式
$$\int_0^1 x^2\,dx = \frac{1}{3}$$Markdown 扩展功能
GitHub 仓库卡片
可以通过 ::github{repo="<owner>/<repo>"} 在文章中插入动态 GitHub 仓库卡片。
::github{repo="saicaca/fuwari"}Waiting for api.github.com...
提示块
支持的类型: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。