Jekyll覆盖Compass生成的输出文件夹和CSS

Jekyll覆盖Compass生成的输出文件夹和CSS,jekyll,compass-sass,Jekyll,Compass Sass,我正试着把杰基尔和指南针一起使用。 在一个命令行中我运行的是jekyll--auto,在另一个命令行中运行的是compass watch。 SASS文件位于/stylesheets中,并编译到/\u站点/样式表中。 Jekyll被配置为忽略/stylesheets 编译样式表在开始时工作得很好,但是每次我更改一些东西使Jekyll重新生成站点时,它都会覆盖整个/\u site文件夹,并且/\u site/stylesheets就消失了。Compass不会重新生成它,因为源SASS文件没有更改 有

我正试着把杰基尔和指南针一起使用。 在一个命令行中我运行的是
jekyll--auto
,在另一个命令行中运行的是
compass watch
。 SASS文件位于
/stylesheets
中,并编译到
/\u站点/样式表中。
Jekyll被配置为忽略
/stylesheets

编译样式表在开始时工作得很好,但是每次我更改一些东西使Jekyll重新生成站点时,它都会覆盖整个
/\u site
文件夹,并且
/\u site/stylesheets
就消失了。Compass不会重新生成它,因为源SASS文件没有更改

有没有其他方法可以将杰基尔和指南针一起使用?
我可以将Jekyll配置为不覆盖完整的输出文件夹,而只覆盖已更改的文件吗?

我在github页面上使用Jekyll&Compass。在这里:

简单,, 我只是把生成的css文件夹放在根文件夹中。Jekyll将在
\u site
文件夹中生成文件

正如您在我的存储库中看到的那样

只需使用以下代码调用CSS

<link href = "/css/screen.css" ...

问题是Jekyll在运行时会删除站点目录的所有内容。我解决这个问题的方法是使用rake进行部署,然后在我的rakefile中包含以下内容:

task :generate => :clear do
    sh 'jekyll'
    sh 'compass compile'
end
然后我就跑:

$ rake generate
它填充jekyll目录,然后将compass文件放在上面

一个更简洁的解决方案可能是让compass-watch进程(假设您正在运行)将compass编译为projectdir/css。当您运行jekyll时,它将把css目录直接拉到_site/css中,您就完成了,没有问题(请参阅下面的目录结构)


如果您将任何内容放入_site/css,然后在删除后运行jekyll,那么您需要在删除后运行compass,或者将compass文件放入根目录中的css文件夹,然后jekyll将正确复制文件。

太好了!你对我的问题有答案吗?谢谢你的回答,@ardianzzz!是的,将样式表文件夹放入根文件夹肯定是一种选择。这就是我最后的选择。将我的SASS文件放在/stylesheets中,让Jekyll忽略该文件夹。Comfigure Compass编译成/css,该文件夹将自动拉入/\u站点。
projectdir/
    css/
    stylesheets/