计算机学习笔记
2 分钟阅读 · 561 字

MDX 写作指南:这个博客里能用的全部语法

这篇既是语法备忘,也是给自己看的写作规范。所有示例都在本站生效,可以直接抄。

Frontmatter 是文章的唯一"元数据入口"

---
title: '文章标题'
date: '2026-07-03'
summary: '一句话摘要,会出现在首页卡片、SEO description 和 RSS 里。'
tags: ['MDX', '写作']
cover: '/og-cover.svg'
draft: false
---

draft: true 的文章在开发时可见、在 next build 时被过滤掉——这是最轻量的草稿机制。

基础排版

加粗、斜体、删除线、行内代码,以及 站内链接 和 外部链接。

引用长这样:

写作是把模糊的直觉逼成清晰句子的过程。 如果一句话写不清楚,通常是还没想清楚。

表格与任务列表(GFM)

语法渲染结果常用场景
**文字**加粗强调结论
> 文字引用块摘录、金句
- [ ]待办框计划、清单

任务列表示例:

  • 写完这篇文章
  • 补一张流程图
  • 校对错别字

代码块

带语言标注就会自动高亮,语言名交给 highlight.js 判断:

export function TagBadge({ tag }: { tag: string }) {
  // 中文标签一定要编码,否则路由匹配不上
  return <Link href={`/tags/${encodeURIComponent(tag)}`}>{tag}</Link>;
}
npm run dev     # 本地开发,带热更新
npm run build   # 构建,顺便做类型检查
npm start       # 用构建产物起一个本地服务

自定义组件:Callout

因为 components/mdx/index.tsx 里注册过,正文里可以不 import 直接用:

图片

本地图片直接写相对路径,比如 /og-cover.svg:

本站默认封面

目录是怎么来的

文章开头的目录不是手写的:构建时扫描正文里的二三级标题,用和 rehype-slug 同一套规则(github-slugger)算出锚点 id,所以点击必然能跳到正确位置。

写作清单

  • 先写摘要,逼自己想清楚这篇要说什么
  • 代码块一定标语言
  • 结论放最前面,铺垫放后面
  • 每篇至少一张图或一张表

← 返回首页