为 GitHub 个页面创建我自己的 Jekyll 模板,为类似项目制作数百个相同的页面

Creating my own Jekyll template for GitHub pages to make 100s of identical pages for similar projects

我的 GitHub 组织是 github.com/Obrary(很抱歉没有放完整的 url,但我还没有足够的声望点) .在那里,我有 100 多种产品的开放设计。每一个都是一个项目。我希望每个项目都有一个 GitHub 页面。

我为其中一个项目创建了一个简单的 GitHub 页面。参见 http://obrary.github.io/Alex-Chair/. The page is created so that I can add it to any projects gh-pages branch and it will work for the new project. To see that in action, http://obrary.github.io/Alexey-Surfboard-Rack/

现在我想在我所有的开放设计项目中使用这个页面。正如我所说,有 100 个。所以我不想只是复制和粘贴文件。有没有办法为我想要关联的所有项目创建一个 'master template' 的项目?我希望能够编辑母版并让更改自动反映在所有 GitHub 页面上。

谢谢

有什么挑战!

您已经有 100 个项目网站在 100 个单独的存储库中使用相同的模板构建,并且您想共享一个通用设计。

共享通用样式表

只需创建一个存储库来托管通用样式表(例如:https://github.com/Obrary/styles。从每个 gh-pages,只需获取此样式表,然后您就可以在整个网络上复制样式。

共享通用模板

如果要共享通用模板,唯一的解决办法是将所有项目站点分组在同一个存储库下。 但是在这里你失去了提供 zip 下载的能力,特定于每个项目,以及允许贡献者在特定存储库中工作的能力(我认为)。

终极解决方案

拥有一个用于模板和样式的中央存储库,其中包含一个将更新推送到所有项目存储库的 rake 任务。这将使 Github 页面在每个项目上自动重新生成。酷!

让我们详细说明一下这个解决方案。

  • 您有一个中央存储库,用于存储您的所有常用文件 项目网站。这些文件主要是 _includes_layouts_sass 个文件夹。

  • 您所有的项目站点都基于此存储库。他们的页面, 帖子和静态文件可以独立于中央 存储库。

  • 每当您更新中央存储库时,webhook 调用 服务器上的脚本。该脚本可以是 rake 任务或 bash 脚本 或者任何你擅长的东西。

  • 该脚本简单地复制文件或从中央存储库中拉取并 然后推送到所有项目站点。

  • Github会自动发布