Estendendo Sass

Você pode estender a funcionalidade do SASS para fornecer diferentes tipos de recursos e personalizações para os usuários. Para fazer uso desses recursos, o usuário deve ter conhecimento de Ruby.

Definindo Funções SASS Customizadas

Você pode definir suas próprias funções SASS enquanto usa a API Ruby. Você pode adicionar suas funções personalizadas adicionando-as aos métodos Ruby, conforme mostrado no código a seguir -

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

No código que você pode ver, a Função, declare, especifica os nomes dos argumentos da função. Se falhar, não aceitará nenhum argumento, mesmo se a função estiver funcionando e também aceita argumentos de palavra-chave arbitrários. Você pode obter valores Ruby usando o acessador de valor e acessar os objetos de cor usando rgb, vermelho, verde ou azul .

Armazenamentos de cache

O SASS armazena o cache de documentos analisados, que podem ser reutilizados sem análise novamente. SASS usa:cache_locationpara gravar arquivos de cache no sistema de arquivos. Isso torna a compilação de arquivos SASS mais rápida e, se você excluir arquivos em cache, eles serão gerados novamente na próxima compilação. Você pode definir seu próprio armazenamento de cache configurando o:cache_storeopção. Isso gravará arquivos de cache no sistema de arquivos ou compartilhará arquivos de cache em processos ou máquinas Ruby. O SASS usa a instância da subclasse de Sass :: CacheStores :: Base para armazenar e recuperar os resultados do cache.

Importadores personalizados

SASS usa @import para importar arquivos SCSS e SASS e passa caminhos para a regra @import para encontrar um path code apropriado para caminhos especificados. Os importadores SASS usam o sistema de arquivos para carregar o código e são adicionados ao carregamento usando o banco de dados ou outro esquema de nomenclatura de arquivo.

O importador único pode carregar um único arquivo e pode ser colocado na matriz : load_paths junto com os caminhos do sistema de arquivos. Ao usar @import , o SASS procura caminhos carregados, que importam o caminho para o importador. Quando o caminho é encontrado, o arquivo importado é usado. Um usuário pode herdar os importadores deSass::Importers::Base.