为多个 github 页面网站使用通用的 Jekyll 代码
Using common Jekyll code for multiple github pages websites
我想要在 Github 页面上同时托管一个用户网站和多个项目网站,即
- username.github.io
- username.github.io/project1
- username.github.io/project2
我希望他们共享一组通用的 jekyll 文件,这样可以更轻松地更改主题、信息等。有人设法做到了吗?使用 subtree / submodule 不是很有帮助,因为你不能覆盖 source 配置选项来更改 jekyll 源文件的位置。 Github Pages 始终强制 source 位于根目录中。您可以更改 _includes 和 _layouts 所在的位置,但这不是很有用。有什么建议或例子吗?
使用 username.github.ui/base
作为您的基本模板的存储库。这不应该是 gh-page。
此存储库应包含一个包含您的基本模板的分支。目前,我说您正在为此使用 master
分支。分支并在此 repo 中创建 project1
和 project2
分支。
每次更改基本模板时,请在 master
分支中更改它们,然后将主分支合并到 project1
和 project2
.
在本地克隆 base
存储库,并将 project1
和 project2
添加为远程。
然后简单地做一个 git push project1 project1:gh-pages
将你的本地 project1
分支推送到第一个项目 gh-pages 分支。
这仍然会使文件成倍增加,但这意味着您可以轻松地使它们保持同步。更改您的基本模板将是这样的:
git pull
project1 的 gh-pages 分支进入基础 repos project1
分支。对项目 2 重复。
- 在
base
存储库的适当分支中更改基本模板。
- 将分支合并到
project1
和 project2
分支中
git push
project1 的分支进入 project1s
gh-pages` 分支。重复#2。
如果您设置了一些挂钩,这可以很容易地自动化。
我想要在 Github 页面上同时托管一个用户网站和多个项目网站,即
- username.github.io
- username.github.io/project1
- username.github.io/project2
我希望他们共享一组通用的 jekyll 文件,这样可以更轻松地更改主题、信息等。有人设法做到了吗?使用 subtree / submodule 不是很有帮助,因为你不能覆盖 source 配置选项来更改 jekyll 源文件的位置。 Github Pages 始终强制 source 位于根目录中。您可以更改 _includes 和 _layouts 所在的位置,但这不是很有用。有什么建议或例子吗?
使用 username.github.ui/base
作为您的基本模板的存储库。这不应该是 gh-page。
此存储库应包含一个包含您的基本模板的分支。目前,我说您正在为此使用 master
分支。分支并在此 repo 中创建 project1
和 project2
分支。
每次更改基本模板时,请在 master
分支中更改它们,然后将主分支合并到 project1
和 project2
.
在本地克隆 base
存储库,并将 project1
和 project2
添加为远程。
然后简单地做一个 git push project1 project1:gh-pages
将你的本地 project1
分支推送到第一个项目 gh-pages 分支。
这仍然会使文件成倍增加,但这意味着您可以轻松地使它们保持同步。更改您的基本模板将是这样的:
git pull
project1 的 gh-pages 分支进入基础 reposproject1
分支。对项目 2 重复。- 在
base
存储库的适当分支中更改基本模板。 - 将分支合并到
project1
和project2
分支中 git push
project1 的分支进入 project1s
gh-pages` 分支。重复#2。
如果您设置了一些挂钩,这可以很容易地自动化。