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

时间:2015-06-06 03:04:15

标签: github jekyll github-pages

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

我为其中一个项目创建了一个简单的GitHub页面。见http://obrary.github.io/Alex-Chair/。页面已创建,以便我可以将其添加到任何项目gh-pages分支,它将适用于新项目。要查看实际操作,http://obrary.github.io/Alexey-Surfboard-Rack/

现在我想在所有开放式设计项目中使用此页面。正如我所说,有100个。所以我不想只复制和粘贴文件。有没有办法让项目成为我想要关联的所有项目的“主模板”?我希望能够编辑主文件并让更改自动反映在所有GitHub页面上。

谢谢

1 个答案:

答案 0 :(得分:1)

什么是挑战!

您已经在100个独立存储库中的相同模板上构建了100个项目站点,并且您希望共享一个通用设计。

分享常见样式表

只需创建一个存储库来托管常见的样式表(例如:https://github.com/Obrary/styles。从每个gh页面,只需抓住这个stylessheets,然后就可以在整个网络上复制样式。

共享通用模板

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

最终解决方案

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

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

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

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

  • 每当您更新中央存储库时,都会进行webhook次呼叫 服务器上的脚本。此脚本可以是rake任务或bash脚本 或者你擅长的任何事情。

  • 该脚本只是复制文件或从中央存储库中提取 然后推送到所有项目网站。

  • 然后Github将自动发布。