Hugo 双端同步部署:GitHub Pages + srht.site 完整实操
问题背景:同一套 Hugo 源码,想同时部署到: 源站:https://ningfeiyu.github.io (GitHub Pages) 镜像站:https://ninq.srht.site (sr.ht Pages) 核心痛点:baseURL 冲突 —— 构建时写死哪个域名,另一端的所有绝对链接(导航、canonical、sitemap、资源引用)就会指错。 根因分析 Hugo 在构建时会把 baseURL 注入到: 导航菜单 <a href="https://baseURL/posts/"> Canonical 标签 <link rel="canonical" href="https://baseURL/..."> Sitemap <loc>https://baseURL/...</loc> 部分主题内置的绝对资源链接 若只用一个 hugo.toml,双端必有一端链接错指。 解决方案:双配置 + 独立构建目录 1. 目录结构 ningfeiyu.github.io/ ├── hugo.toml # 主配置:baseURL = "https://ningfeiyu.github.io/" ├── hugo.srht.toml # 镜像配置:baseURL = "https://ninq.srht.site/" + relativeURLs = true ├── content/ ├── themes/PaperMod/ # 已内置主题(非 submodule) ├── public/ # GitHub Pages 产物 └── public_srht/ # srht.site 产物 2. 两份配置文件 hugo.toml(GitHub Pages 版) ...