2011-06-02 68 views
1

我正在嘗試與Compass一起使用Jekyll。 在一條命令行中,我運行的是jekyll --auto,另一條命令是compass watch。 SASS文件位於/stylesheets,並編譯爲/_site/stylesheets。 Jekyll配置爲忽略/stylesheetsJekyll覆蓋由Compass生成的輸出文件夾和CSS

編譯樣式表一開始工作正常,但每次我改變一些使得Jekyll重新生成網站的東西時,它會覆蓋整個/_site文件夾,並且/_site/stylesheets消失了。由於源SASS文件沒有改變,Compass不重新生成它。

有沒有另一種方式使用Jekyll和Compass? 我可以配置Jekyll不覆蓋整個輸出文件夾,但只是改變的文件?

回答

1

我正在使用Jekyll &指南針爲我的github頁面。這裏:https://github.com/ardianzzz/ardianzzz.github.com

簡單, 我只是把生成的css文件夾放在根文件夾中。 Jekyll將在_site文件夾內生成文件。

正如你可以在我的存儲庫中看到的。

只需調用CSS用下面的代碼

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

的英語不好,對不起。 :)

+0

太棒了!你對我的問題有答案嗎? – 2011-06-12 09:12:24

+0

感謝您的回答,@ardianzzz!是的,將樣式表文件夾放入根文件夾肯定是一種選擇。 – 2011-06-13 14:10:23

+0

這就是我最後的結果。在我的SASS文件/樣式表中讓Jekyll忽略該文件夾。 Comfigure Compass編譯成/ css,該文件夾將自動被拉入/ _site。 – 2011-06-15 07:37:27

1

問題在於,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只會正確地複製文件。