这篇文章不是为了讲某个具体主题,而是像 LaTeX 模板里的“语法示例”一样,集中展示这个博客系统里常见的写作格式。你可以保留本文作为参考,也可以复制其中任意片段到自己的文章里。
Table of contents
Open Table of contents
Frontmatter:文章元信息
每篇博客开头的 --- 区域叫 frontmatter,用来描述文章标题、摘要、日期、标签等信息。当前项目的博客内容 schema 支持这些字段:
| 字段 | 是否必填 | 示例 | 说明 |
|---|---|---|---|
title | 是 | "我的文章标题" | 页面标题、列表标题和 SEO 标题都会用到 |
description | 是 | "一句话介绍文章" | 首页卡片、搜索结果和 meta description 会用到 |
pubDatetime | 是 | 2026-05-18T09:00:00+08:00 | 发布时间,建议带时区 |
modDatetime | 否 | 2026-05-18T09:30:00+08:00 | 修改时间 |
author | 否 | "作者名字" | 不写时会使用站点默认作者 |
featured | 否 | true | 是否在首页特色区域展示 |
draft | 否 | false | 设为 true 可作为草稿 |
tags | 否 | ["示例", "Markdown"] | 标签页和文章页会展示 |
ogImage | 否 | 图片 URL 或本地图片 | 社交分享图 |
canonicalURL | 否 | 原文 URL | 规范链接 |
hideEditPost | 否 | false | 是否隐藏“编辑此文”链接 |
timezone | 否 | "Asia/Shanghai" | 当前文章使用的时区 |
标题层级
正文从二级标题开始通常最稳妥,因为文章标题已经是一级标题。
三级标题
适合分组说明一个小主题。
四级标题
适合放在较长章节内部,但不要滥用。标题太碎时,读者会像在翻抽屉,很忙,但不一定更清楚。
段落与强调
普通段落直接书写即可。段落之间空一行,Markdown 会自动把它们渲染为独立段落。
你可以使用 加粗 表示重点,使用 斜体 表示术语、语气或轻微强调,也可以使用 inline code 标记变量名、命令、文件路径或字段名。
如果要写链接,格式是:Astro 官方文档。
列表
无序列表适合列举没有强顺序的内容:
- 文章想解决什么问题
- 读者需要提前知道什么
- 结论或建议是什么
有序列表适合表达步骤:
- 先写清楚目标。
- 再补充背景和限制。
- 最后给出可执行的做法。
任务清单适合记录进度:
- 写 frontmatter
- 增加目录占位
- 展示常见 Markdown
- 写完后运行构建检查
引用
引用块适合摘录、提示或强调一句判断。
好的技术博客不只是“把事情说完”,还要让读者知道下一步该怎么做。
也可以写多段引用:
第一段引用。
第二段引用。中间保留一个空引用行即可。
图片与图注
普通 Markdown 图片写法如下:
如果需要图注,可以使用 HTML 的 <figure>:
使用 figure 可以给图片增加更明确的说明文字。
表格
表格适合做对比、参数说明和清单:
| 写法 | 适合场景 | 注意事项 |
|---|---|---|
| 段落 | 解释背景、展开论证 | 每段只表达一个主要意思 |
| 列表 | 总结要点、列出步骤 | 不要把每一项写得过长 |
| 表格 | 对比多个维度 | 移动端上列数不要太多 |
| 代码块 | 展示命令或程序 | 记得标注语言 |
代码块
代码块建议写语言名,这样可以启用语法高亮。
type PostMeta = {
title: string;
description: string;
tags: string[];
};
export function formatTitle(meta: PostMeta) {
return `${meta.title} | ${meta.tags.join(", ")}`;
}hello.ts
也可以写终端命令:
pnpm install
pnpm dev
pnpm buildterminal
当前主题支持代码块 meta 里的 file=...,会在代码块顶部显示文件名。
如果你需要突出某几行,可以使用项目里已有文章使用过的 Shiki 注释:
const title = "中文博客写作示例";
const draft = false;
console.log({ title, draft });highlight-demo.js
折叠内容
原生 HTML 的 <details> 很适合放补充材料:
点击展开:写作小建议
先写一个能被读者立刻理解的标题,再写一个能帮自己保持方向的大纲。正文写完后,回头删掉重复解释。
分隔线
用三个短横线可以插入分隔线:
分隔线适合在两个主题之间制造明确停顿,但不要每隔几段就放一次。
MDX 组件
这个项目在文章详情页里注册了 GalleryEmbed 组件,所以 .mdx 文章可以直接嵌入画廊:
如果你只想写纯 Markdown,不需要组件,可以把文件扩展名改成 .md。如果要写 JSX/组件,就使用 .mdx。
脚注
脚注适合放不影响主线阅读的补充信息。这里是一个带脚注的句子。1
常见文章骨架
一篇实用型文章可以按这个结构组织:
- 问题:读者为什么要关心这件事?
- 背景:需要哪些上下文?
- 方法:具体怎么做?
- 示例:给出可以运行或可以照着改的代码。
- 取舍:这个方案什么时候不适合?
- 总结:用三五句话收束,不要重复全文。
结语
你可以把这篇文章当作博客写作的速查模板:先复制 frontmatter,改掉标题、摘要、日期和标签;正文则按需要挑选标题、表格、代码块、图片、引用或 MDX 组件。
Footnotes
-
这是一条脚注。它会被渲染到文章底部,适合解释来源、补充背景或记录细节。 ↩