📝 创建新文章
使用 Hugo 命令创建
| |
文件命名建议
- ✅ 推荐:使用小写字母 + 连字符:
how-to-write-hugo.md - ✅ 可选:使用下划线:
my_first_post.md - ⚠️ 支持但不推荐:中文文件名
我的文章.md
🎯 Front Matter 配置详解
Front Matter 是文章开头的元数据部分,Hugo 支持 YAML 和 TOML 两种格式。
YAML 格式(推荐)
使用 --- 包裹,更易读,是本博客的标准格式:
| |
TOML 格式(备选)
使用 +++ 包裹:
| |
核心字段说明
| 字段 | 必需 | 说明 | 示例 |
|---|---|---|---|
title | ✅ | 文章标题 | "我的第一篇文章" |
date | ✅ | 发布日期时间 | 2025-11-15T14:30:00+08:00 |
draft | ✅ | 是否为草稿 | false 发布, true 草稿 |
author | ❌ | 作者名称 | "LexHsu" |
categories | ❌ | 分类(数组) | ["tech", "tutorial"] |
tags | ❌ | 标签(数组) | ["hugo", "markdown"] |
description | ❌ | 文章摘要 | 显示在列表和搜索中 |
⚠️ 重要提示:
- 新创建的文章默认
draft: true,必须改为false才能发布 - 日期格式使用 ISO 8601,时区为
+08:00(中国标准时间) categories和tags会自动生成分类页和标签页
🎨 PaperMod 主题特有配置
封面图片配置
在 Front Matter 中添加封面图:
| |
封面图片选项:
| 参数 | 说明 | 默认值 |
|---|---|---|
image | 图片路径 | - |
alt | 图片 alt 文本 | - |
caption | 图片说明(显示在图片下方) | - |
relative | 是否使用相对路径 | false |
hidden | 在列表页隐藏封面 | false |
hiddenInList | 仅在列表页隐藏 | false |
hiddenInSingle | 仅在文章页隐藏 | false |
文章目录(TOC)控制
| |
禁用特定功能
| |
文章权重(置顶)
| |
SEO 相关配置
| |
📖 Markdown 基础语法
标题
| |
文本样式
| |
效果:粗体 斜体 粗斜体 删除线 code
列表
| |
链接和图片
| |
引用
| |
这是引用文字 可以多行
分隔线
| |
💻 代码块(带语法高亮)
行内代码
使用反引号包裹:`code`
代码块
使用三个反引号 + 语言标识:
| |
支持的语言:python, javascript, go, java, bash, yaml, json, markdown 等
主题配置的代码高亮特性(已在 hugo.yml 中配置):
- ✅ 自动语法高亮(Monokai 主题)
- ✅ 显示行号
- ✅ 自动猜测语法
- ✅ 代码围栏支持
🧮 数学公式(MathJax)
本博客已启用 MathJax 2.7.3,支持 LaTeX 数学公式。
内联公式
使用 $...$ 包裹:
| |
效果:这是内联公式 $E = mc^2$,爱因斯坦的质能方程。
块级公式
使用 $$...$$ 包裹:
| |
效果展示:
$$ o_{t, i} = \sum_{j=1}^{t} \text{Softmax}j\left(\frac{q{t, i}k_{j, i}^T}{\sqrt{d_h}}\right)v_{j, i} $$
常用数学符号
| 符号 | 代码 | 符号 | 代码 |
|---|---|---|---|
| $\alpha$ | \alpha | $\beta$ | \beta |
| $\sum$ | \sum | $\prod$ | \prod |
| $\int$ | \int | $\partial$ | \partial |
| $\infty$ | \infty | $\approx$ | \approx |
| $\leq$ | \leq | $\geq$ | \geq |
| $\frac{a}{b}$ | \frac{a}{b} | $\sqrt{x}$ | \sqrt{x} |
矩阵和方程组
| |
MathJax 配置特性(已在 layouts/partials/mathjax.html 中配置):
- ✅ 支持 AMS 数学扩展
- ✅ 自动公式编号
- ✅ Times New Roman 字体
- ✅ 支持
\[...\]和\(...\)语法
📊 表格
| |
效果:
| 符号 | 说明 | 维度 |
|---|---|---|
| $q_t$ | Query 向量 | $d_{model}$ |
| $k_t$ | Key 向量 | $d_{model}$ |
| $v_t$ | Value 向量 | $d_{model}$ |
🎁 PaperMod 主题 Shortcodes
折叠内容块(Collapse)
| |
点击展开示例
这是折叠内容的示例!
你可以在这里放置:
- 📚 详细的技术文档
- 💻 长篇代码示例
- 📖 补充阅读材料
- 🔍 调试信息
参数说明:
summary: 折叠块的标题文本openByDefault:true默认展开,false默认折叠
增强图片(Figure)
| |
参数说明:
src: 图片路径(必需)alt: Alt 文本caption: 图片说明(显示在图片下方)attr: 图片属性/来源attrlink: 属性链接align: 对齐方式(left/center/right)width/height: 尺寸控制
原始 HTML(RawHTML)
⚠️ 注意:当前博客配置 goldmark.renderer.unsafe: false,不支持直接写 HTML,需使用 shortcode:
| |
行内图片(InTextImg)
在文本中插入小图标:
| |
🖼️ 图片资源管理
推荐的图片组织方式
| |
在文章中引用图片
| |
图片路径规则
- ✅ 绝对路径(推荐):
/images/article-name/image.png- 从
static/目录开始,/images/对应static/images/
- 从
- ❌ 相对路径:不推荐,可能导致路径错误
图片快捷粘贴
如果使用支持的编辑器(如 VS Code + Markdown 插件):
- macOS:
Option + Command + V - Windows/Linux:
Ctrl + Alt + V
自动保存到指定目录并插入引用。
🚀 本地预览与发布
本地开发服务器
| |
服务器特性:
- ✅ 实时热重载
- ✅ 显示草稿文章(
-D参数) - ✅ 自动检测文件变化
不包含草稿预览
| |
构建静态站点
| |
✅ 发布检查清单
在提交文章前,请确认:
-
draft: false- 已设置为发布状态 -
title- 标题准确且吸引人 -
date- 日期时间正确(格式:2025-11-15T14:30:00+08:00) -
categories和tags- 已添加合适的分类和标签 -
description- 写了文章摘要(有助于 SEO) - 图片路径正确 - 所有图片都能正常显示
- 数学公式渲染 - 公式显示正确
- 代码高亮 - 代码块语言标识正确
- 链接有效 - 外部链接可访问
- 本地预览无误 -
hugo server检查效果
🔧 常见问题与解决方案
1. 文章不显示在首页
原因:
draft: true未改为false- 日期设置为未来时间
解决:
| |
2. 数学公式不渲染
检查:
- 是否使用了正确的分隔符
$...$或$$...$$ - 特殊字符是否需要转义(如
\_\{\})
示例:
| |
3. 图片无法显示
检查清单:
- 图片路径以
/开头(绝对路径) - 图片存放在
static/images/目录下 - 文件名大小写匹配(Linux 系统区分大小写)
- 图片格式支持(jpg, png, gif, svg, webp)
4. 中文标题锚点问题
PaperMod 主题支持中文标题自动生成锚点:
| |
5. 想使用原始 HTML
方法 1:使用 rawhtml shortcode
| |
方法 2:修改配置(不推荐,有安全风险)
| |
🔄 自动化部署流程
本博客的发布流程完全自动化:
- 编写文章 - 在
my_blog私有仓库的content/posts/目录编写 - Git 提交 -
git add . && git commit -m "Add new post" && git push - 自动构建 - GitHub Actions 检测到推送,自动运行 Hugo 构建
- 自动部署 - 构建的静态文件推送到
allenhsu6.github.io仓库 - 自动发布 - GitHub Pages 自动部署到 https://allenhsu6.github.io
无需手动操作:推送代码后 1-2 分钟即可在线访问!
📚 扩展资源
官方文档
数学公式
本博客配置
- Hugo 版本:v0.152.2
- 主题:PaperMod
- 代码高亮:Monokai
- 数学公式:MathJax 2.7.3
💡 写作技巧建议
- 使用有意义的标题 - 清晰的层级结构(H2、H3、H4)
- 添加目录 - 长文章设置
ShowToc: true - 使用 emoji - 适当使用表情符号增强可读性 ✨
- 代码注释 - 代码块添加语言标识以启用高亮
- 图文并茂 - 使用图片、表格、公式丰富内容
- 折叠长内容 - 使用
collapseshortcode 折叠次要信息 - SEO 优化 - 填写
description、keywords,使用有意义的 URL - 分类合理 -
categories用于大分类,tags用于细粒度标签
🎉 开始创作
现在你已经掌握了所有必要的知识,开始创作你的第一篇文章吧!
| |
祝写作愉快!✍️