为了保证博客内容的排版整洁、风格统一以及良好的阅读体验,特制定本写作规范。
一、结构与标题
1. 标题层级
- 不要使用一级标题 (
#):Hugo 会自动将 Frontmatter 中的title渲染为页面一级标题,正文从 二级标题 (##) 开始。 - 层级递进:遵循
##->###->####,不要跳级(例如从##直接跳到####)。
正确示例:
## 一、背景介绍
### 1.1 问题描述
#### 1.1.1 详细说明
错误示例:
# 背景介绍 (不要在正文中用一级标题)
### 1.1 问题描述 (跳过了二级标题)
2. 标题编号风格
- 技术类统一阿拉伯数字:
tech和blog目录使用1.、2.风格。- ✅
## 1. 背景/### 2. 方案对比 - ❌
## 一、背景/### 二、方案对比
- ✅
- 非技术类保持一致:可用中文序号,但同一篇文章内保持一致。
3. 标题样式
- 标题不加粗:标题自带粗体,不要额外使用
**或__。- ✅
## 核心概念 - ❌
## **核心概念**
- ✅
- 简洁明了:标题应简练概括本节内容,避免长句。
4. 禁止伪标题
- 不要用加粗当标题:正文中
**关键概念**不会进入目录。- ✅
### 关键概念 - ❌
**关键概念**
- ✅
二、段落与间距
1. 段落空行
- 段落间距:段落之间保留一行空行。
2. 段落首行缩进(空两格)
- 使用全角空格:首行缩进用两个全角空格(U+3000)。
- ✅
这是首行缩进示例。
- ✅
- 不要用半角空格:半角空格可能被 Markdown 解析为代码块或被压缩。
- 替代写法:必要时可以使用 HTML 实体
 表示全角空格。
3. 块级元素间距
- 标题、代码块、分割线前后留空行:避免渲染错乱。
- 引用块与列表:引用和列表前后留空行更清晰。
三、全角与半角
- 中文标点用全角:逗号、句号、冒号、引号、括号等统一使用全角。
- ✅
这是中文,使用全角标点。 - ❌
这是中文, 使用半角标点.
- ✅
- 英文与数字用半角:英文单词、数字、技术名词使用半角字符。
- ✅
Go 1.22/HTTP/2/Redis - ❌
Go 1.22
- ✅
- 中英文混排空格:中文与英文、中文与数字之间保留半角空格。
- ✅
使用 Go 编写服务/版本 1.2 - ❌
使用Go编写服务/版本1.2
- ✅
四、强调与行内语法
- 粗体 (
**text**):用于强调关键概念或重点结论,不要滥用。 - 行内代码 (
`text`):用于标记代码片段、文件名、路径、配置项或专有名词。- ✅ 请修改
config.yml文件。 - ❌ 请修改 config.yml 文件。
- ✅ 请修改
五、引用与列表
- 引用块:使用
>引用外部资料、名言或提示内容。- ✅
> 这是一个引用示例。 > > 引用块也可以包含分段。
- ✅
- 列表使用:有序列表用于步骤说明,无序列表用于并列观点。
- 不要用列表冒充标题:禁止
1. #### 标题这类写法。
六、代码块规范
- 指定语言:所有代码块必须指定语言标识符,便于语法高亮。
正确示例:
console.log("Hello");
错误示例:
console.log("Hello");
七、Frontmatter 规范
每篇文章的开头必须包含以下元信息:
---
title: "文章标题"
date: 2026-02-09T12:00:00+08:00
lastmod: 2026-02-09T12:00:00+08:00
author: ["GopherDing"]
tags:
- 标签1
- 标签2
categories:
- 分类
description: "一句话描述文章内容"
draft: false
showToc: true
---
八、图片与资源
- 图片存放:建议文章相关的图片存放在
static/img目录下,按分类或文章名归档。 - 图片引用:使用 Markdown 语法,并填写
alt文本以便 SEO。
九、常见错误清单(快速排查)
- 标题加粗重复:
### 1. **核心概念**->### 1. 核心概念 - 列表套标题:
1. #### 步骤一->#### 1. 步骤一 - 标题层级跳跃:
##下面直接出现#### - 伪标题:
**关键概念**->### 关键概念 - 块级元素无空行:标题、代码块、分割线紧贴正文