NAME
Mojolicious::Plugin::AssetPack::Pipe::Sass - Process sass and scss files
SYNOPSIS
Application
plugin AssetPack => {pipes => [qw(Sass Css Combine)]};
$self->pipe("Sass")->functions({
q[image-url($arg)] => sub {
my ($pipe, $arg) = @_;
return sprintf "url(/assets/%s)", $_[1];
}
});
Sass file
The sass file below shows how to use the custom "image-url" function:
body {
background: #fff image-url('img.png') top left;
}
DESCRIPTION
Mojolicious::Plugin::AssetPack::Pipe::Sass will process sass and scss files.
This module require either the optional module CSS::Sass or the sass
program to be installed. sass
will be automatically installed using https://rubygems.org/ unless already available.
ATTRIBUTES
functions
$hash_ref = $self->functions;
Used to define custom SASS functions. Note that the functions will be called with $self
as the first argument, followed by any arguments from the SASS function. This invocation is EXPERIMENTAL, but will hopefully not change.
This attribute requires CSS::Sass to work. It will not get passed on to the sass
executable.
See "SYNOPSIS" for example.
generate_source_map
$bool = $self->generate_source_map;
$self = $self->generate_source_map(1);
This pipe will generate source maps if true. Default is "1" if "mode" in Mojolicious is "development".
See also http://thesassway.com/intermediate/using-source-maps-with-sass and https://robots.thoughtbot.com/sass-source-maps-chrome-magic for more information about the usefulness.
See also Mojolicious::Plugin::AssetPack::Guides::Developing/Faster development cycle> for how to reload the page when changes are done inside the browser's dev tools.
METHODS
process
See "process" in Mojolicious::Plugin::AssetPack::Pipe.