[{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/blowfish/","section":"标签","summary":"","title":"Blowfish","type":"tags"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/cloudflare-pages/","section":"标签","summary":"","title":"Cloudflare Pages","type":"tags"},{"content":"","date":"June 15, 2026","externalUrl":null,"permalink":"/en/tags/deployment/","section":"Tags","summary":"","title":"Deployment","type":"tags"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/github/","section":"标签","summary":"","title":"GitHub","type":"tags"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/hugo/","section":"标签","summary":"","title":"Hugo","type":"tags"},{"content":" 一个普通程序员的长期笔记实验室：把代码、系统、部署和工具链里值得复用的部分写清楚。 阅读文章 了解 MoleLab 静态博客 部署复盘 工具链笔记 Minecraft 式建造感 写给下次的我 每篇文章都尽量留下背景、命令、坑点和可直接复用的结论。 按主题检索 用标签把 Hugo、部署、工具链和日常问题串起来，方便回头查。 持续扩建 像搭一个小基地那样慢慢整理服务、脚本、配置和想法。 MoleLab 不追求宏大的叙事，只希望把真实做过的事情整理得可靠、克制、好找。\n","date":"2026年6月15日","externalUrl":null,"permalink":"/","section":"MoleLab","summary":" 一个普通程序员的长期笔记实验室：把代码、系统、部署和工具链里值得复用的部分写清楚。 阅读文章 了解 MoleLab 静态博客 部署复盘 工具链笔记 Minecraft 式建造感 写给下次的我 每篇文章都尽量留下背景、命令、坑点和可直接复用的结论。 按主题检索 用标签把 Hugo、部署、工具链和日常问题串起来，方便回头查。 持续扩建 像搭一个小基地那样慢慢整理服务、脚本、配置和想法。 MoleLab 不追求宏大的叙事，只希望把真实做过的事情整理得可靠、克制、好找。\n","title":"MoleLab","type":"page"},{"content":"","date":"June 15, 2026","externalUrl":null,"permalink":"/en/categories/site-building/","section":"Categories","summary":"","title":"Site Building","type":"categories"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/","section":"标签","summary":"","title":"标签","type":"tags"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/tags/%E9%83%A8%E7%BD%B2/","section":"标签","summary":"","title":"部署","type":"tags"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/categories/%E5%BB%BA%E7%AB%99/","section":"Categories","summary":"","title":"建站","type":"categories"},{"content":"MoleLab 的第一版是一个很朴素的静态博客：Hugo 负责生成页面，Blowfish 负责主题，GitHub 保存源码，Cloudflare Pages 负责构建、托管和 HTTPS。\n这篇文章记录一下从零搭起来的过程，也顺手写清楚后续维护时要注意的地方。\n为什么选这套组合 # Hugo 的优点是快、简单、生成结果完全静态。博客没有登录、数据库或后台管理，静态站就足够了。\nBlowfish 是一个功能比较完整的 Hugo 主题，自带深色模式、搜索、文章列表、多语言切换和比较舒服的排版。MoleLab 目前使用的是 Blowfish 的 background 首页布局。\nGitHub 用来保存源码和版本历史。Cloudflare Pages 从 GitHub 拉取代码，每次推送到 main 分支都会自动构建并发布。\n本地初始化 # 本地需要安装 Hugo extended 版本。我的环境里使用的是：\nhugo version 然后在项目目录初始化站点：\nhugo new site . --force git init -b main 主题使用 Git submodule 管理：\ngit submodule add https://github.com/nunocoracao/blowfish.git themes/blowfish 因为当前需要 Hugo 0.163.1 无警告构建，而 Blowfish 最新发布版的兼容信息还没更新，所以 submodule 暂时跟踪官方的 hugo-new-version 分支。等 Blowfish 发布包含这次兼容元数据的新版本后，再切回正式 release tag。\n配置双语 # MoleLab 现在是中英文双语站点。中文是默认语言，输出在根路径：\nhttps://molelab.dev/ 英文输出在：\nhttps://molelab.dev/en/ 核心配置是：\nbaseURL = \u0026#34;https://molelab.dev/\u0026#34; defaultContentLanguage = \u0026#34;zh-cn\u0026#34; defaultContentLanguageInSubdir = false disableDefaultLanguageRedirect = true 中文内容放在 content/zh-cn，英文内容放在 content/en。同一篇文章在两个语言目录里使用相同路径，Hugo 和 Blowfish 就能把它们识别为互相对应的翻译页面。\n推到 GitHub # 站点源码提交后推到 GitHub：\ngit add . git commit -m \u0026#34;Initialize bilingual Hugo Blowfish blog\u0026#34; git remote add origin https://github.com/molefool/hugo.git git push -u origin main 之后日常更新就是普通的 Git 流程：本地修改、构建验证、提交、推送。\nCloudflare Pages 配置 # Cloudflare Pages 连接 GitHub 仓库后，生产分支选择 main。\n构建命令：\ngit submodule update --init --recursive \u0026amp;\u0026amp; hugo --minify -b https://molelab.dev/ 输出目录：\npublic 环境变量：\nHUGO_VERSION = 0.163.1 HUGO_ENV = production -b https://molelab.dev/ 很重要。它会让 canonical、RSS、站点地图和多语言链接都指向正式域名，而不是临时的 pages.dev 域名。\n绑定自定义域名 # Cloudflare Pages 部署成功后，在项目里进入“自定义域”，添加 molelab.dev。\n如果域名 DNS 也托管在 Cloudflare，Cloudflare 会自动处理记录和证书。等待状态变成 active 后，访问 https://molelab.dev/ 就会进入 Pages 部署出来的站点。\n常见坑 # 第一类坑是主题 submodule。Cloudflare 构建时必须能拿到主题代码，所以构建命令里要先执行：\ngit submodule update --init --recursive 第二类坑是 Hugo 版本。Hugo 更新很快，主题有时会滞后一小步。构建前最好本地跑一次：\nhugo --gc --minify 第三类坑是 baseURL。正式域名确定后，要让本地配置和 Cloudflare 构建命令都使用同一个域名。\n中国大陆访问速度怎么优化 # MoleLab 现在用的是 Cloudflare Pages 免费方案。它的优点是省心、免费、自动 HTTPS、全球边缘网络和 Git 自动部署。但对于中国大陆访问，它不保证稳定，也不等同于国内 CDN。\n免费轻量优化可以先做这些：\n尽量保持纯静态页面，不引入大前端框架。 图片压缩后再上传，少用超大背景图。 CSS、JS、图片使用长缓存，HTML 保持短缓存。 Cloudflare 里开启 Brotli、HTTP/3、Early Hints 等免费性能选项。 使用正式 baseURL，避免资源和 canonical 链接绕到临时域名。 这些优化能减少请求量和传输体积，但解决不了所有线路问题。如果以后 MoleLab 的主要读者在中国大陆，真正稳定的路线通常是备案后使用国内云厂商或国内 CDN；折中路线是保留 Cloudflare Pages，同时增加国内镜像，比如对象存储加 CDN，或者试用对大陆网络更友好的静态托管平台。\n现阶段我会先保持这套免费方案，把内容和站点结构打磨好。速度优化先做低成本项，等内容多起来、访问数据明确之后，再决定要不要上国内镜像。\n","date":"2026年6月15日","externalUrl":null,"permalink":"/posts/deploy-hugo-blowfish-cloudflare/","section":"文章","summary":"记录 MoleLab 从本地 Hugo 初始化、Blowfish 主题配置、GitHub 仓库，到 Cloudflare Pages 自动部署和自定义域名上线的完整过程。","title":"如何用 Hugo、Blowfish、GitHub 和 Cloudflare Pages 部署 MoleLab","type":"posts"},{"content":"","date":"2026年6月15日","externalUrl":null,"permalink":"/posts/","section":"文章","summary":"","title":"文章","type":"posts"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"我是 molefool，一个普通程序员。\nMoleLab 是我给自己留的技术实验室。这里会记录写代码、搭服务、调环境、做部署、整理工具链时真正遇到的问题，以及下次还能复用的解决步骤。\n我会写什么 # Hugo、Cloudflare Pages、GitHub 这类静态站和部署实践。 编程、自动化、脚本、小工具和工程化笔记。 自托管、服务配置、系统环境和常见问题复盘。 偶尔写一点 Minecraft。不是攻略站，更多是记录建造、红石、服务器和“把东西搭稳”的乐趣。 写作原则 # 我更喜欢小而清楚的文章：能说明背景，能复现命令，能解释坑点，也能留下下一次直接使用的结论。\n如果一篇文章能让未来的我少查十分钟资料，它就值得写。\n","externalUrl":null,"permalink":"/about/","section":"MoleLab","summary":"我是 molefool，一个普通程序员。\nMoleLab 是我给自己留的技术实验室。这里会记录写代码、搭服务、调环境、做部署、整理工具链时真正遇到的问题，以及下次还能复用的解决步骤。\n我会写什么 # Hugo、Cloudflare Pages、GitHub 这类静态站和部署实践。 编程、自动化、脚本、小工具和工程化笔记。 自托管、服务配置、系统环境和常见问题复盘。 偶尔写一点 Minecraft。不是攻略站，更多是记录建造、红石、服务器和“把东西搭稳”的乐趣。 写作原则 # 我更喜欢小而清楚的文章：能说明背景，能复现命令，能解释坑点，也能留下下一次直接使用的结论。\n","title":"关于","type":"page"},{"content":"更新于 2026-06-15。\n现在主要在把 MoleLab 的基础打稳：\n用 Hugo + Blowfish 保持站点足够轻。 用 GitHub + Cloudflare Pages 让发布流程自动化。 把部署、配置、踩坑和固定命令沉淀成可复用的文档。 慢慢整理程序员日常、工具链、系统配置和 Minecraft 相关的小记录。 短期目标很简单：先把站点写起来，保持内容真实、结构清楚、维护成本低。\n","externalUrl":null,"permalink":"/now/","section":"MoleLab","summary":"更新于 2026-06-15。\n现在主要在把 MoleLab 的基础打稳：\n用 Hugo + Blowfish 保持站点足够轻。 用 GitHub + Cloudflare Pages 让发布流程自动化。 把部署、配置、踩坑和固定命令沉淀成可复用的文档。 慢慢整理程序员日常、工具链、系统配置和 Minecraft 相关的小记录。 短期目标很简单：先把站点写起来，保持内容真实、结构清楚、维护成本低。\n","title":"近况","type":"page"}]