擴展Sass

您可以擴展Sass的功能,爲用戶提供不同類型的功能和自定義。要使用這些功能,用戶應該Ruby的知識。

定義自定義Sass功能


可以同時使用 Ruby API 定義自己的 Sass 功能。可以將它們添加到如在下面的Ruby方法的代碼添加自定義的功能:

module Sass::Script::Functions
def reverse(string)
assert_type string, :String
Sass::Script::Value::String.new(string.value.reverse)
end
declare :reverse, [:string]
end

在你能看到的上面的代碼中,Functions.declare 指定函數的參數名稱。如果失敗,那麼它不會接受任何參數,即使功能起作用,它也需要任意關鍵字參數。可以得到 Ruby的值利用值來訪問 RGB,紅色,綠色或藍色訪問顏色對象。

高速緩存存儲


Sass存儲可以在不重新解析重用解析文件的緩存。Sass使用:cache_location上寫上文件系統緩存文件。它使Sass文件編譯更快,如果刪除緩存文件,它們將被重新編譯時,下一次生成。可以通過設置定義自己的緩存存儲使用 :cache_store 選項。以ruby的進程或機器這將寫入文件系統上的緩存文件或共享緩存文件。Sass使用 Sass::CacheStores::Base子類的實例來存儲和檢索緩存結果。

自定義導入


Sass 使用 @import 導入 SCSS和Sass文件和傳遞路徑@import規則找到指定的路徑相應路徑代碼。Sass導入使用的文件系統加載的代碼,並使用數據庫或不同的文件命名方案加入到負載。

單導入者可以採取單個文件裝載和可放置在 :load_pathsarray 隨着文件系統的路徑。當使用@import,Sass查找其導入路徑導入者加載路徑。當通道被發現,導入文件將被使用。用戶可以繼承 Sass::Importers::Base。