Estensione Sass

È possibile estendere la funzionalità di SASS per fornire diversi tipi di funzionalità e personalizzazioni per gli utenti. Per utilizzare queste funzionalità, l'utente deve avere una conoscenza di Ruby.

Definizione delle funzioni SASS personalizzate

Puoi definire le tue funzioni SASS durante l'utilizzo dell'API Ruby. Puoi aggiungere le tue funzioni personalizzate aggiungendole ai metodi Ruby come mostrato nel codice seguente:

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

Nel codice che potresti vedere, la funzione, declare, specifica i nomi degli argomenti per la funzione. Se fallisce, non accetterà alcun argomento anche se la funzione sta funzionando e accetta anche argomenti di parole chiave arbitrarie. È possibile ottenere valori Ruby utilizzando la funzione di accesso ai valori e accedere agli oggetti colore utilizzando rgb, rosso, verde o blu .

Archivi cache

SASS memorizza la cache dei documenti analizzati, che possono essere riutilizzati senza eseguire nuovamente l'analisi. SASS utilizza:cache_locationper scrivere i file di cache sul file system. Rende la compilazione dei file SASS più veloce e se elimini i file memorizzati nella cache, verranno generati di nuovo alla successiva compilazione. È possibile definire il proprio cache store impostando il file:cache_storeopzione. Questo scriverà i file di cache sul file system o condividerà i file di cache su processi o macchine Ruby. SASS utilizza l'istanza della sottoclasse di Sass :: CacheStores :: Base per archiviare e recuperare i risultati della cache.

Importatori personalizzati

SASS utilizza @import per importare file SCSS e SASS e passa i percorsi alla regola @import per trovare un codice di percorso appropriato per percorsi specificati. Gli importatori SASS utilizzano il file system per caricare il codice e aggiungerlo al carico utilizzando il database o un diverso schema di denominazione dei file.

L'importatore singolo può caricare un singolo file e può essere posizionato nell'array: load_paths insieme ai percorsi del file system. Durante l'utilizzo di @import , SASS cerca i percorsi caricati, che importano il percorso per l'importatore. Quando viene trovato il percorso, viene utilizzato il file importato. Un utente può ereditare gli importatori daSass::Importers::Base.