如何通过GitHub Pages实现多项目子站点内容生成?
问题:GitHub Pages主站的子路径内容如何关联独立仓库并生成?
你观察到的这种模式,是开发者利用GitHub Pages特性实现的,核心有两种常见玩法:
独立仓库直接部署到主站子路径
GitHub Pages支持将单个项目仓库的构建产物,部署到同一个域名的子路径下。具体逻辑是:- 主站仓库(即hihayk.github.io)已完成GitHub Pages基础配置,占用根域名路径
- 每个子项目仓库(比如scale)在自身的GitHub Pages设置里,指定部署目标路径为
/scale——要么通过仓库的Pages设置面板配置,要么用GitHub Actions编写部署脚本,把构建好的产物推送到主域名的对应子路径 - 子项目更新时,GitHub会自动完成构建和部署,主站的纯HTML页面只需直接链接到这些子路径即可。
主仓库聚合子项目构建产物
另一种更直接的方式是,开发者先在本地完成子项目的构建(比如把React/Vue类项目打包成静态HTML/CSS/JS),再把构建产物复制到主站仓库的对应子目录(比如主仓库新建scale/文件夹,放入打包文件),提交推送到GitHub后,主站的GitHub Pages部署时会把这些子目录作为站点的子URL对外提供访问。
由于你提到主站本身只有HTML和CSS,这种手动/脚本同步产物的方式可能性很高,你可以去主仓库的提交记录里看看有没有批量添加子项目静态文件的记录,或者子项目仓库里有没有自动同步到主仓库的CI脚本。
你可以通过查看子项目仓库的.github/workflows目录(是否有部署相关Action),或者主仓库的文件提交历史,确认具体用的是哪种方式。
内容的提问来源于stack exchange,提问作者moys
相关产品推荐
相关产品推荐

