Sass erweitern

Sie können die Funktionalität von SASS erweitern, um Benutzern verschiedene Arten von Funktionen und Anpassungen bereitzustellen. Um diese Funktionen nutzen zu können, sollte der Benutzer über Kenntnisse in Ruby verfügen.

Benutzerdefinierte SASS-Funktionen definieren

Sie können Ihre eigenen SASS-Funktionen definieren, während Sie die Ruby-API verwenden. Sie können Ihre benutzerdefinierten Funktionen hinzufügen, indem Sie sie zu Ruby-Methoden hinzufügen, wie im folgenden Code gezeigt:

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

In dem Code, den Sie sehen konnten, gibt die Funktion deklarieren die Argumentnamen für die Funktion an. Wenn dies fehlschlägt, werden keine Argumente akzeptiert, auch wenn die Funktion funktioniert, und es werden auch beliebige Schlüsselwortargumente verwendet. Sie können Ruby - Werte erhalten , indem Sie Wert Accessor und Zugriff auf die Farbobjekte mithilfe von rgb, rot, grün oder blau .

Cache-Speicher

SASS speichert den Cache der analysierten Dokumente, die ohne erneutes Parsen wiederverwendet werden können. SASS verwendet:cache_locationum Cache-Dateien in das Dateisystem zu schreiben. Dies beschleunigt das Kompilieren von SASS-Dateien. Wenn Sie zwischengespeicherte Dateien löschen, werden diese beim nächsten Kompilieren erneut generiert. Sie können Ihren eigenen Cache-Speicher definieren, indem Sie die Option festlegen:cache_storeMöglichkeit. Dadurch werden Cache-Dateien in das Dateisystem geschrieben oder Cache-Dateien für Ruby-Prozesse oder -Maschinen freigegeben. SASS verwendet die Instanz der Unterklasse von Sass :: CacheStores :: Base , um Cache-Ergebnisse zu speichern und abzurufen.

Kundenspezifische Importeure

SASS importiert mit @import SCSS- und SASS-Dateien und übergibt Pfade an die @ import- Regel, um einen geeigneten Pfadcode für die angegebenen Pfade zu finden. SASS-Importeure verwenden das Dateisystem zum Laden des Codes und fügen ihn mithilfe einer Datenbank oder eines anderen Dateinamensschemas zum Laden hinzu.

Ein einzelner Importer kann einzelne Dateien laden und zusammen mit den Pfaden des Dateisystems im Array load_paths abgelegt werden. Während der Verwendung von @import sucht SASS nach geladenen Pfaden, die den Pfad für den Importer importieren. Wenn der Pfad gefunden wurde, wird die importierte Datei verwendet. Ein Benutzer kann die Importeure von erbenSass::Importers::Base.