# 陶政辰的笔记本
个人博客源码,基于 [Hugo](https://gohugo.io/) + [hugo-theme-stack](https://github.com/CaiJimmy/hugo-theme-stack)。
线上地址:
## 目录结构
```
.
├── .gitea/workflows/ # Gitea Actions:push 后自动 build + rsync 到 NAS
├── archetypes/ # 新文章模板
├── assets/ # 自定义 SCSS / 图片
├── content/ # 正文
│ ├── about/ # 关于页
│ ├── archives/ # 归档页
│ ├── posts/ # 文章
│ └── search/ # 搜索页
├── deploy/ # NAS 上 nginx 容器的 docker-compose(参考用)
├── themes/stack/ # 主题(git submodule)
└── hugo.yaml # Hugo 配置
```
## 本地开发
```bash
# 第一次拉代码记得带上 submodule
git clone --recurse-submodules
# 或:已经 clone 了
git submodule update --init --recursive
# 本地预览(含草稿)
hugo server -D
# 生产构建
hugo --gc --minify
```
需要 Hugo Extended ≥ 0.161.1。
## 写一篇新文章
```bash
hugo new posts/2026-05-06-my-post.md
```
文件名里的日期只是给自己排序用,真正决定发布时间的是 front matter 里的 `date`。
## 部署
不用手动部署。流程:
1. `git push` 到 `main`
2. Gitea Actions(`.gitea/workflows/build.yml`)在 runner 里跑 `hugo --gc --minify`
3. `rsync` 把 `public/` 推到 NAS 上的 `/blog-public/`(host 模式 bind mount)
4. NAS 上常驻的 nginx 容器只读挂载该目录,文件系统层同步,无需重启
NAS 上 nginx 容器的 compose 文件见 [deploy/docker-compose.yml](deploy/docker-compose.yml),只在重建时用得到。
## License
* 文章内容:[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)
* 主题:见 `themes/stack/` 自身 license