2026-10-30 调整:网站回归文章发布,首页恢复原来的 Blowfish 背景图、头像、个人简介和最近文章布局。使用 Tags 组织内容;分类、Projects、友情链接及写作约定不再发布。相关页面与旧首页模板保存在 archive/removed-site-sections/2026-10-30/。
一个基于 Hugo + Blowfish 的个人数字花园,记录计算机学习、项目实践、阅读与生活。站点无需数据库或在线写作 API;Node 只用于开发检查,浏览器不运行应用框架。
实际 Git 根目录是 myblog/;外层 D:\hugo 还存放历史 Hugo 二进制。Windows、Linux 均使用 Python 3.11+ 与 Node 24。首次克隆需要初始化主题子模块。
git clone --recurse-submodules git@github.com:Nizeross/nizeross.github.io.git
cd nizeross.github.io
npm ci --ignore-scripts
python scripts/install_hugo.py
python scripts/sync_vendor.py
python scripts/site.py preview预览地址为 http://127.0.0.1:1313,包含草稿。安装器固定 Hugo Extended 0.154.5 并校验 SHA-256;不要使用外层旧二进制。Linux 安装流程相同;当前安装器支持 Windows/Linux AMD64,其他平台需手动安装相同版本 Extended 到 .tools/。
python scripts/site.py new technical "理解虚拟内存" --slug virtual-memory
python scripts/site.py check
npm run lint
python scripts/site.py build
python scripts/check_site.py五种类型为 technical、project、reading、essay、life。新文章在 content/posts/<slug>/index.md,默认草稿;图片和文章放在同一目录。中文标题可自动生成中文 slug;想要便于输入的 URL,可以显式传英文 --slug。不要随意改已有文章目录名。
python scripts/site.py commit-draft 只展示差异摘要和提交信息建议,不自动暂存、提交或推送。python scripts/suggest.py <文章路径> 离线提供摘要片段、标签与相关文章候选;它不是生成式 AI,也不修改正文。外链报告用 python scripts/check_external.py 单独生成。
python -m unittest discover -s tests -v
npm run test:workflows
python scripts/security_check.py
npm run browsers
npm run test:e2e
npm run audit:dependencies本地发布目录是 .build/site/;Playwright 会自动启动并关闭测试服务器。截图和浏览器结果保存在 reports/,HTML 报告在 playwright-report/。开发前先构建再执行浏览器测试。
浏览器安装完成后,可以用 npm run verify 一次执行全部本地检查。失败会停在对应阶段,并将完整输出保存为 reports/verify.log。
正式部署使用 hugo.yaml:合并到 main 后安装锁定工具链、执行完整验证,再将 .build/site 发布到既有 Pages 站点;检查失败不会进入部署。严格的另一人审核发布方案仍位于 .github/workflow-proposals/pages.yml,未启用。日常文章使用独立分支与 PR,检查通过并人工审阅后再合并。
- 架构与审计:为什么保留 Hugo、目录与数据流。
- 迁移计划:阶段交付、兼容性和回滚。
- 开发流程:写作、项目页和检查规则。
- 发布原理:审核门槛、权限和上线步骤。
- 学习笔记:Git、HTTP、静态站点与测试背后的概念。
- 交付报告:实际运行结果与剩余事项。
- 安全说明:本站依赖与上游主题审计的不同范围。
原有文章、域名文件与历史生成目录均保留。不要编辑 themes/blowfish/:站点覆盖文件才是定制入口。