Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为GitHub页面创建我自己的Jekyll模板,为类似项目创建100个相同的页面_Github_Jekyll_Github Pages - Fatal编程技术网

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

为GitHub页面创建我自己的Jekyll模板,为类似项目创建100个相同的页面,github,jekyll,github-pages,Github,Jekyll,Github Pages,我的GitHub组织是GitHub.com/Obrary(很抱歉没有提供完整的url,但我还没有足够的信誉点)。在那里,我有100种开放式产品设计。每一个都是一个项目。我希望每个项目都有一个GitHub页面 我为其中一个项目创建了一个简单的GitHub页面。看见该页面是这样创建的,我可以将其添加到任何项目gh pages分支,它将用于新项目。要看到这一点起作用 现在,我想在所有打开的设计项目中使用此页面。正如我所说,有100个。所以我不想只是复制和粘贴文件。有没有一种方法可以使一个项目成为我想关

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

我为其中一个项目创建了一个简单的GitHub页面。看见该页面是这样创建的,我可以将其添加到任何项目gh pages分支,它将用于新项目。要看到这一点起作用

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

谢谢

什么是挑战

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

共享通用样式表 只需创建一个存储库来存放公共样式表(例如:),然后从每个gh页面抓取这个样式表,然后就可以在整个网络上复制样式

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

最终解决方案 有一个模板和样式的中央存储库,它有一个rake任务,可以将更新推送到所有项目存储库。这将使Github页面在每个项目上自动重新生成。酷

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

  • 您有一个中央存储库,用于存储系统中所需的所有通用文件 项目站点。这些文件主要是
    \u包括
    \u布局
    \u sass
    文件夹

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

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

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

  • 然后Github将自动发布


谢谢David。这很有意义。制作一个中心项目,我在其中放置公共资产,这样当它们被更新时,所有的项目页面都会受益。在最终解决方案中,rake任务会是什么样子?我对GitHub是新手,刚刚开始了解问题。我编辑了我的答案,以进一步解释最终解决方案。嗯。所以我从第一个场景开始-将共享元素合并到一个中央repo中。我从公用文件夹中获取了图像和CSS并将它们移动到。然后我更新了图像和CSS链接,以指向共享repo的文件。图像工作正常。但是CSS文件有一个问题,正如您所见。有什么想法吗?没有t使用
https://raw.githubusercontent.com
他们的服务速度较慢,并且使用
文本/纯文本
mime类型。由于您有
gh pages
分支,github会使用您的资源生成一个网站,而且服务速度更快,mime类型正确,例如: