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.