Extension de Sass

Vous pouvez étendre les fonctionnalités de SASS pour fournir différents types de fonctionnalités et de personnalisations aux utilisateurs. Pour utiliser ces fonctionnalités, l'utilisateur doit avoir une connaissance de Ruby.

Définition des fonctions SASS personnalisées

Vous pouvez définir vos propres fonctions SASS tout en utilisant l'API Ruby. Vous pouvez ajouter vos fonctions personnalisées en les ajoutant aux méthodes Ruby comme indiqué dans le code suivant -

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

Dans le code que vous pouvez voir, la fonction, declare, spécifie les noms d'argument de la fonction. En cas d'échec, elle n'acceptera aucun argument même si la fonction fonctionne et elle prend également des arguments de mot-clé arbitraires. Vous pouvez obtenir des valeurs Ruby à l'aide de l' accesseur de valeur et accéder aux objets de couleur à l'aide de rgb, rouge, vert ou bleu .

Magasins de cache

SASS stocke le cache des documents analysés, qui peuvent être réutilisés sans analyse à nouveau. SASS utilise:cache_locationpour écrire des fichiers cache sur le système de fichiers. Cela accélère la compilation des fichiers SASS et si vous supprimez les fichiers mis en cache, ils seront à nouveau générés lors de la prochaine compilation. Vous pouvez définir votre propre magasin de cache en définissant le:cache_storeoption. Cela écrira des fichiers de cache sur le système de fichiers ou partagera des fichiers de cache avec des processus ou des machines ruby. SASS utilise une instance de la sous-classe de Sass :: CacheStores :: Base pour stocker et récupérer les résultats du cache.

Importateurs personnalisés

SASS utilise @import pour importer les fichiers SCSS et SASS et transmet les chemins à la règle @import pour trouver un code de chemin approprié pour les chemins spécifiés. Les importateurs SASS utilisent le système de fichiers pour charger le code et l'ajouté à la charge à l'aide d'une base de données ou d'un schéma de dénomination de fichier différent.

Un seul importateur peut prendre en charge le chargement d'un seul fichier et peut être placé dans le tableau : load_paths avec les chemins du système de fichiers. Lors de l'utilisation de @import , SASS recherche les chemins chargés, qui importent le chemin pour l'importateur. Lorsque le chemin est trouvé, le fichier importé est utilisé. Un utilisateur peut hériter des importateurs deSass::Importers::Base.