2012-11-08 71 views
1

我們的樣式表使用Compass mixins構建在SCSS中。對於開發,我們使用CodeKit作爲它的好工具,我非常喜歡它。但是現在我們需要在服務器端實現自動編譯工具。我們使用PHPSass(phpsass.com),因爲它很好地支持純SASS。不幸的是,我不知道如何將Compass加入其中。它還沒有支持構建,而Compass只能作爲gem包使用 - 沒有辦法下載它並將其混入項目文件夾中。有人對此類問題有任何經驗嗎?有沒有辦法使用Compass與PHPSass編譯器?

+0

是不是有一個原因,你不只是通過命令行使用Sass/Compass?它具有通過手錶自動編譯或者可以將其作爲cron運行。如果你真的需要涉及PHP,你甚至可以通過exec()來調用它。 – cimmanon

+0

客戶端希望能夠動態地從CMS中更改模板(如重新定義顏色等),所以我真的需要編譯模板服務器端。 exec()不是解決方案 - 它只能在定製的專用服務器上工作,我們希望創建簡單且可重用的代碼。這就是爲什麼PHPSass似乎非常出色。 –

+0

如果你只需要mixin,你可以在這裏獲取:https://github.com/chriseppstein/compass/tree/stable/frameworks/compass/stylesheets。然而,你不會有任何像sprite generator這樣有價值的幫助函數,因爲它們都是用Ruby編寫的。 – cimmanon

回答

1

https://github.com/chriseppstein/compass/tree/stable/frameworks/compass/stylesheets(我想我實際上是從某些windows/ruby​​的東西下載指南針)抓取mixins注意,並非所有指南針都可以與phpsass一起使用。即時通訊使用一個非常小的子集,我認爲邊界半徑和框模型。似乎有一些sass功能沒有移植到php的問題。

$loadpath = array(pathtosassfiles, pathtocompass); 
    $defaultOptions = array(
    'load_paths'  => $loadpath , 
    'cache'   => false, 
    'syntax'   => 'scss', 
    'extensions'  => array('compass'=>array()) 
    ); 
$debugoptions = array(
    'line_numbers' => false, 
    'debug_info' => true, 
    'style'   => 'nested', //'compressed' 'compact' 'expanded' 'nested' 
    ); 
$minoptions = array(
    'line_numbers' => false, 
    'debug_info'  => false, 
    'style'   => 'compressed', //'compressed' 'compact' 'expanded' 'nested' 
    ); 
//then when you instantiate: 
$sass = new SassParser(array_merge($defaultOptions, $minoptions)); 
3

大家都知道,截至2013年2月11日,phpSASS支持擴展。來自開發者Twitter的帖子,「我們現在支持擴展,這意味着Compass,非常感謝Juan ManuelVergésSolanas和tsi的貢獻!」 http://www.phpsass.com/https://twitter.com/PHPSass

相關問題