Files
hugo-blog/README.md
2026-05-24 10:52:41 +08:00

139 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hugo Blog
洛尘luochen570的技术博客使用 Hugo 静态站点生成器 + PaperMod 主题。
线上地址https://hugo.luochen570.cn
## 技术栈
- **Hugo** — 静态站点生成器
- **PaperMod** — 主题git submodule
- **Caddy** — HTTPS 反向代理(部署在 UC 服务器)
- **Git** — 源码托管在自建 Gitea
## 目录结构
```
hugo-blog/
├── archetypes/ # 文章模板
├── content/
│ └── posts/ # 博客文章Markdown
├── public/ # 构建输出(临时生成,不提交)
├── themes/
│ └── PaperMod/ # 主题git submodule
├── hugo.toml # Hugo 配置文件
├── .gitmodules # 子模块配置
└── README.md
```
## 本地开发
### 前置条件
```bash
# 安装 HugoNixOS / 非 NixOS 均可)
# 详见 https://gohugo.io/installation/
# 克隆仓库并初始化子模块
git clone git@git.luochen570.cn:luochen570/hugo-blog.git
cd hugo-blog
git submodule update --init --recursive
```
### 启动本地调试服务器
```bash
hugo server -D
```
访问 http://localhost:1313`-D` 参数会显示草稿文章。
## 写作规范
### 新建文章
`content/posts/` 下创建 `<slug>.md` 文件,格式如下:
```yaml
---
date: '2026-05-24T09:00:00+08:00'
draft: false
title: '文章标题'
tags:
- tag1
- tag2
categories:
- 分类
---
```
### 内容规则
- **日期必须在过去** — Hugo 默认跳过未来日期的文章。构建后检查 `public/posts/<slug>/` 是否存在
- **草稿** — `draft: true` 的文章不会出现在生产构建中。发布前确保为 `false`
- **节点/IP 准确性** — 仅提及实际存在的节点/服务器
- **隐私保护** — 不暴露真实地理位置,使用"私有云/公有云"替代IP 使用 `x.x.x.x` 替代
- **ASCII 图表** — 网络拓扑图使用纯 ASCII 字符(`+` `-` `|`),不使用 Unicode 框线字符
## 构建
```bash
cd ~/hugo-blog
# 清理构建(推荐)
rm -rf public/
hugo
# 验证新文章已生成
ls public/posts/<slug>/
```
## 部署
构建完成后,通过 SSH 将 `public/` 目录同步到 UC 服务器:
```bash
cd ~/hugo-blog
tar czf - public/ | ssh.exe root@152.32.213.27 \
"rm -rf /www/hugo.luochen570.cn/*; \
tar xzf - -C /www/hugo.luochen570.cn --strip-components=1; \
chown -R root:root /www/hugo.luochen570.cn/"
```
Caddy 会自动加载新文件,无需重启。
## Git 工作流
```bash
git add content/posts/<slug>.md
git commit -m "add post: 文章标题"
git push
```
远程仓库:`git@git.luochen570.cn:luochen570/hugo-blog.git`
## 配置说明
`hugo.toml`
```toml
baseURL = 'https://hugo.luochen570.cn/'
locale = 'zh_cn'
title = 'My New Hugo Project'
theme = 'PaperMod'
```
PaperMod 主题作为 git submodule 管理,更新方式:
```bash
git submodule update --remote themes/PaperMod
```
## 相关链接
- 线上博客https://hugo.luochen570.cn
- 源码仓库:`git@git.luochen570.cn:luochen570/hugo-blog.git`
- 部署服务器UC152.32.213.27
- Caddy 配置:`/etc/caddy/Caddyfile`(服务器端)
- PaperMod 主题https://github.com/adityatelange/hugo-PaperMod