Jekyll覆盖由Compass生成的输出文件夹和CSS
我正在尝试与Compass一起使用Jekyll。 在一条命令行中,我运行的是jekyll --auto
,另一条命令是compass watch
。 SASS文件位于/stylesheets
,并编译为/_site/stylesheets
。 Jekyll配置为忽略/stylesheets
。Jekyll覆盖由Compass生成的输出文件夹和CSS
编译样式表一开始工作正常,但每次我改变一些使得Jekyll重新生成网站的东西时,它会覆盖整个/_site
文件夹,并且/_site/stylesheets
消失了。由于源SASS文件没有改变,Compass不重新生成它。
有没有另一种方式使用Jekyll和Compass? 我可以配置Jekyll不覆盖整个输出文件夹,但只是改变的文件?
我正在使用Jekyll &指南针为我的github页面。这里:https://github.com/ardianzzz/ardianzzz.github.com
简单, 我只是把生成的css文件夹放在根文件夹中。 Jekyll将在_site
文件夹内生成文件。
正如你可以在我的存储库中看到的。
只需调用CSS用下面的代码
<link href = "/css/screen.css" ...
的英语不好,对不起。 :)
问题在于,Jekyll在运行时会将_site目录的所有内容剪掉。我解决这个得到的方法是使用耙部署,然后在我的Rakefile以下几点:
task :generate => :clear do
sh 'jekyll'
sh 'compass compile'
end
我然后只需运行:
$ rake generate
其中填充哲基尔目录,然后放指南针文件结束。
一个更简洁的解决方案可能是让您的指南针 - 观察过程(假设您正在运行)将指南针编译为projectdir/css。当你运行jekyll时,它只会将该css目录直接拖拽到_site/css中,然后完成,没有任何问题(请参阅下面的dir结构)。
projectdir/
css/
stylesheets/
如果你把任何东西_site/CSS,然后运行杰奇将被删除后,让你无论是需要运行后罗盘,或把罗盘文件放到css文件夹的根目录,然后jekyll只会正确地复制文件。
太棒了!你对我的问题有答案吗? – 2011-06-12 09:12:24
感谢您的回答,@ardianzzz!是的,将样式表文件夹放入根文件夹肯定是一种选择。 – 2011-06-13 14:10:23
这就是我最后的结果。在我的SASS文件/样式表中让Jekyll忽略该文件夹。 Comfigure Compass编译成/ css,该文件夹将自动被拉入/ _site。 – 2011-06-15 07:37:27