发布到github页面没有版本化工件?

时间:2014-12-18 18:45:25

标签: sass artifacts github-pages

有没有办法发布到项目gh-pages分支,而不在该分支中版本化生成的css / js?

例如,here是生成的css文件gh-pages的{​​{1}}分支版本历史记录。似乎每次更改和提交scss文件时,desktop.css文件也会重新生成。这似乎没有必要存储。

我正在考虑使用css预处理器(如Sass或Javascript捆绑器)的项目中的并行。我们通常不会对生成的代码进行版本化,因为它只会重复我们已有的数据(预编译/预绑定代码)。如果我们想回到早期版本,我们会恢复较旧版本的Sass,例如,从那里重新生成css。对于重新生成gh-pages页面的早期版本应该说同样的,不是吗?此外,还存在从这些生成的文件到存储库的不必要的工件和膨胀的问题。

是否有一种解决方法可以让代码的构建发生而不用版本化生成的css / js?我想到的一种可能性是每次我需要再生时清除和重新分支desktop.css分支,但这似乎是极端的。我有时想知道Github是否应该提供gh-pages作为标签以及分支,以便我们可以在需要Travis CI时将该标记移动到指向不同的提交或者您有什么需要再生。

其他人如何解决这个问题?或者这不是什么大不了的事?

更新2014年12月18日星期四19:28:16 EST

David在下面给出了一个很好的答案,特别是Jekyll,演示jekyll site with just scss,但其hosted github page是使用生成的css构建的。似乎魔术在_config.yml文件中。虽然我喜欢这个答案(并且赞成它),但它没有解决一般情况。

现在我想我会采用定期的git清除方法。我将部署到gh-pages分支,让它对生成的css / js进行版本控制。然后每隔一段时间,如果我觉得回购已经过于膨胀,我将只用gh-pages命令清空分支explained by Github或者只是在本地远程删除它并重新创建它。这样,我可以灵活地使用我想要的任何静态站点生成器,根据需要调整和生成,并保持repo大小可管理。以额外的几步为代价。

2 个答案:

答案 0 :(得分:1)

您可以查看Jekyll静态网站生成器supported by Github page。 本机使用sass和仅版本的源文件。 干净!

答案 1 :(得分:0)

您可以将生成的文件(例如* .css)添加到.gitignore,这样即使创建它们,它们也不会同步到Github。但是当访问者访问您的页面时,他们的浏览器需要生成的.CSS文件,因此您确实需要以某种方式发布它们。

考虑相反的情况 - git历史记录显示.scss更改而没有对已编译的.css进行任何更新。对于任何知道CSS应该从Sass编译的开发人员来说,这可能会让人感到困惑;他们可能会开始四处寻找编译过程中出现的问题。