为多个 github 页面网站使用通用的 Jekyll 代码

Using common Jekyll code for multiple github pages websites

我想要在 Github 页面上同时托管一个用户网站和多个项目网站,即

我希望他们共享一组通用的 jekyll 文件,这样可以更轻松地更改主题、信息等。有人设法做到了吗?使用 subtree / submodule 不是很有帮助,因为你不能覆盖 source 配置选项来更改 jekyll 源文件的位置。 Github Pages 始终强制 source 位于根目录中。您可以更改 _includes_layouts 所在的位置,但这不是很有用。有什么建议或例子吗?

使用 username.github.ui/base 作为您的基本模板的存储库。这不应该是 gh-page。

此存储库应包含一个包含您的基本模板的分支。目前,我说您正在为此使用 master 分支。分支并在此 repo 中创建 project1project2 分支。

每次更改基本模板时,请在 master 分支中更改它们,然后将主分支合并到 project1project2.

在本地克隆 base 存储库,并将 project1project2 添加为远程。

然后简单地做一个 git push project1 project1:gh-pages 将你的本地 project1 分支推送到第一个项目 gh-pages 分支。

这仍然会使文件成倍增加,但这意味着您可以轻松地使它们保持同步。更改您的基本模板将是这样的:

  1. git pull project1 的 gh-pages 分支进入基础 repos project1 分支。对项目 2 重复。
  2. base 存储库的适当分支中更改基本模板。
  3. 将分支合并到 project1project2 分支中
  4. git push project1 的分支进入 project1sgh-pages` 分支。重复#2。

如果您设置了一些挂钩,这可以很容易地自动化。