跳转到内容
关系图谱

Markdown 语法示例

2,324 字 9 分钟

属性 5
series
站点写作指南
type
Guide
year
2026
featured
true

本文包含本站支持的全部书写语法:标准 Markdown、VitePress 扩展、Obsidian 专属语法,可作为写作速查(本文自身的 frontmatter 也演示了上方的属性面板)。

标题 ​

正文从二级标题开始 —— 一级标题由文件名承担(Obsidian「文件名即标题」约定)。

三级标题 ​

四级标题 ​

五级标题 ​

强调 ​

粗体、斜体、粗斜体、删除线、高亮(Obsidian 语法)、行内代码、H~2~O 不支持下标(原样输出),转义演示:*星号不斜体*。

列表 ​

无序列表与嵌套:

  • 第一项
  • 第二项
    • 嵌套项
    • 嵌套项
  • 第三项

有序列表:

  1. 第一步
  2. 第二步
  3. 第三步

任务清单(Obsidian / GFM):

引用 ​

一级引用:文字是思想的面包屑。

嵌套引用:链接是面包屑,不是承诺。

链接 ​

图片 ​

Obsidian 嵌入语法,构建期进 Vite 资产管线(指纹化文件名),点击可放大:

表格 ​

左对齐居中对齐右对齐
内容内容内容
代码粗体链接

代码块 ​

带语言标注与行号:

ts
interface Note {
  title: string
  date?: string
  tags: string[]
}

带文件名标题栏([文件名] 按后缀自动配图标):

VP.ts
ts
export default { name: 'vault-blog' }
package.json
json
{ "type": "module" }

行高亮({2}):

ts
const a = 1
const b = 2 // 本行高亮
const c = 3

diff 与聚焦标记:

ts
console.log('保持') 
console.log('删除') 
console.log('新增') 
console.log('警告') 
console.log('错误') 

代码组(Tab 切换,标签按文件名/关键词自动配图标):

js
export default { hello: 'world' }
ts
export default { hello: 'world' } satisfies Record<string, string>
sh
pnpm add vitepress

折叠代码块(长代码默认收起 200px,按钮展开/收起;文案可用 {name="…" open-text="…" close-text="…"} 定制):

app/assets/css/main.css
css
@import 'tailwindcss';
@import '@nuxt/ui';

:root {
  --ui-primary: var(--vp-c-brand-1);
  --ui-secondary: var(--vp-c-brand-2);
  --ui-text-dimmed: var(--vp-c-text-3);
  --ui-text-muted: var(--vp-c-text-2);
  --ui-text-toned: var(--vp-c-text-2);
  --ui-text: var(--vp-c-text-1);
  --ui-text-highlighted: var(--vp-c-text-1);
  --ui-bg: var(--vp-c-bg);
  --ui-bg-muted: var(--vp-c-bg-soft);
  --ui-bg-elevated: var(--vp-c-bg-soft);
  --ui-bg-accented: var(--vp-c-default-soft);
  --ui-border: var(--vp-c-divider);
  --ui-border-muted: var(--vp-c-divider);
  --ui-border-accented: var(--vp-c-gutter);
}

Callouts ​

GitHub Alerts 的五种写法照常可用,由 Obsidian Callouts 统一渲染(IMPORTANT/CAUTION 按 Obsidian 语义归入 tip/warning 别名)。全部 13 种类型、折叠与嵌套见 Callout 语法测试。

Note

补充说明性的信息。

Tip

有用的小建议。

Important

达成目标所必须知道的关键信息。

Warning

需要立即注意的紧急信息。

Caution

某个操作的潜在负面后果。

自定义容器 ​

信息

自定义标题的 info 容器。

TIP

默认标题的 tip 容器。

WARNING

warning 容器。

DANGER

danger 容器。

点击展开

折叠容器,适合放长内容。

js
console.log('容器里也能放代码块')

卡片 ​

单张卡片(标题直接跟在 card 后,与其他容器同轨;属性包在花括号里,均可省略;http(s) 外链自动新开页并带右上角角标):

Dashboard

A dashboard with multi-column layout,正文支持 Markdown 与 Minimal Theme。

卡片组(两列网格;嵌套时外层容器要多一个冒号):

VitePress

本站的静态站点引擎。

Obsidian

本站的写作端与内容源。

纯文本卡片

不带链接的卡片,也可以只有标题和正文。

Carbon 图标

经 icons 选项注册的扩展图标集(IBM Carbon),冒号式与 i-carbon-idea 连字符式均可。

连标题都可以省略,只放一段说明文字。

单块提示 callout(无标题槽;color 支持 neutral / primary / secondary / info / success / warning / error,带 to 时整块可点、虚线边框):

了解如何在 Obsidian 中使用 Minimal Theme。

primary 色系,行内 加粗 与 外部链接 照常可用。

success 色系 + 外链:右上角出现新开页角标。

warning 色系。与 Obsidian callout(> [!warning])是两种语义:这里是 Nuxt 风格单块提示,那边是带标题的引述块。

步骤列表 ​

steps 容器给对应级别的标题挂序号圆点与左侧连接线(level 支持 2 / 3 / 4,缺省 3;级别应顺承上文标题层级,跳级会破坏文档大纲的无障碍语义):

在 nuxt.config.ts 中添加 Nuxt UI 模块 ​

ts
export default defineNuxtConfig({
  modules: ['@nuxt/ui'],
})

在 CSS 中导入 Tailwind CSS ​

css
@import 'tailwindcss';

启动开发服务器 ​

bash
npm run dev

网页嵌入 ​

web-frame 容器把网页嵌进浏览器窗口视觉里(iframe 懒加载;showWindow=false 可去掉窗口栏;无 src 时正文即窗口内容):

没有 src 时,容器正文作为窗口内容渲染 —— 适合手绘示意或富文本演示。

哔哩哔哩视频 ​

bilibili 容器嵌入官方外链播放器(bvid / aid 二选一;缺省关自动播放,danmaku=false 可关弹幕,t 起播秒):

官方文档示例视频 —— 容器正文渲染为视频下方的说明文字。

在线代码演练场 ​

codepen 容器嵌入 CodePen(url 或 user+slug;preview=true 为点击运行模式):

stackblitz 容器嵌入 StackBlitz(id 或 github;ctl=true 点击才加载,重嵌入建议开):

仓库卡片 ​

repo-card 容器构建期抓取仓库元数据渲染卡片(sm 行内徽章 / md 钉选卡 / lg 作品陈列卡)。主参数写在容器名之后:owner/repo 简写或仓库 URL(平台自动识别,简写缺省 GitHub、platform="cnb" 切换),单行即闭合:

CNB 平台的仓库卡(图标为 CNB 官方品牌色):

GitHub 文件嵌入 ​

remote-file 容器在构建期抓取远程文件直接嵌入(GitHub/CNB 平台从 URL 自动识别;免复制粘贴,随部署自动同步;#L10-L20 片段即行区间):

shared.ts
ts
import type {
  AdditionalConfig,
  HeadConfig,
  PageData,
  SiteData
} from '../../types/shared'

export type {
  AdditionalConfig,
  AdditionalConfigDict,
  AdditionalConfigLoader,
  Awaitable,
  CodeCopyButtonOptions,
  ContainerOptions,
  DefaultTheme,
  HeadConfig,

CNB(cnb.cool)文件同理(构建需要 CNB_TOKEN 环境变量;也可用 {repo= ref= path=} 显式坐标):

README.md
md
> Forked from examples/showcase —— 用于云原生构建入门的 fork + PR 练习

# CNB完整示例

![badge](/-/badge/git/latest/ci/pipeline-as-code)
![badge](/-/badge/git/latest/ci/status/auto_merge)

## NPC

1. [Claude Code](https://cnb.cool/npc/claude-code)

数学公式 ​

行内公式:质能方程 E=mc2 与欧拉恒等式 eiπ+1=0 均在构建期渲染为内联 SVG(客户端零 JS/零字体)。

块级公式:

∫−∞+∞e−x2dx=π

矩阵与多行推导:

(abcd)(xy)=(ax+bycx+dy)

笔记嵌入 ​

章节嵌入 ![[笔记#标题]](含标题、至下一同级标题为止):

嵌入的笔记尚未发布或不存在:Minimal Theme#To-do

章节嵌入 + 别名标题 ![[笔记#标题|别名]]:

嵌入的笔记尚未发布或不存在:Minimal Theme#To-do

块嵌入 ![[笔记#^块id]](目标块行尾以 ^块id 标记):

嵌入的笔记尚未发布或不存在:Evergreen notes turn ideas into objects that you can manipulate#^evergreen-objects

块引用链接 [[笔记#^块id]](跳转到目标块并高亮落点):Evergreen notes turn ideas into objects that you can manipulate#^evergreen-objects

未发布/不存在目标(灰框提示,不产生死链):

嵌入的笔记尚未发布或不存在:一篇不存在的笔记

Canvas 白板 ​

![[白板.canvas]] 构建期渲染为静态画布(文本/文件/链接/群组节点 + 贝塞尔连线,客户端零运行时):

Excalidraw 画稿 ​

![[画稿.excalidraw]] 嵌入 Obsidian Excalidraw 插件 Auto-export 的同名 SVG(暗色自动反色适配):

示例画稿

行内标签 ​

正文中的 #行内标签 与 #嵌套/标签 渲染为可点击徽章并计入标签页;纯数字 #123 不是标签,代码里的 #not-a-tag 也不受影响。

Twoslash 类型悬浮 ​

在 ```ts twoslash 围栏里写 TypeScript,鼠标悬停标识符即可查看类型(构建期由编译器求值,显式标注的代码块才付编译成本):

ts
const 
site
= {
title
: '数字花园',
notes
: 42 }
const
double
= (
n
: number) =>
n
* 2
double
(
site
.
notes
)

脚注 ​

正文里的补充说明可以放进脚注[1],长解释也没问题[2]。

Mermaid 图表 ​

流程图:

时序图:

Emoji 与 Badge ​

Emoji 短码:🎉 💯 🚀 🌱

Badge 组件:info ^2.0.0 beta deprecated

分隔线 ​

上文


下文

Obsidian 专属语法 ​

注释:这句话的后面藏着一条注释,页面上完全不可见(注释语法见下方围栏示例;注意行内代码里写注释定界符会与真注释配对,属已知边界)。

Bases 嵌入(Web 端渲染为提示容器):

此处为 Obsidian Bases 动态视图 Products.base#Cost per use,仅在 Obsidian 中可用。

代码围栏保护:围栏内的 Obsidian 语法一律原样保留,讲解语法不会被误处理:

md
%%围栏内的注释原样保留%%
==围栏内的高亮不转换==
[[围栏内的链接不解析]]
![[围栏内的嵌入不处理.base]]

未启用的能力 ​

以下可选能力因当前 vault 无使用场景而未启用(按需原则),需要时随时可加:

  • PDF / Canvas / Excalidraw 嵌入(![[文件.pdf]] 等渲染为提示框)

  1. 这是一条简短脚注。 ↩︎

  2. 脚注支持多行内容与 Markdown 语法,点击 ↩︎ 可跳回正文引用处。 ↩︎