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.

METHODS

process

See "process" in Mojolicious::Plugin::AssetPack::Pipe.

SEE ALSO

Mojolicious::Plugin::AssetPack.