DOKK / manpages / debian 12 / libmojolicious-plugin-assetpack-perl / Mojolicious::Plugin::AssetPack::Pipe::Sass.3pm.en
Mojolicious::Plugin::AssetPack::Pipe::Sass(3pm) User Contributed Perl Documentation Mojolicious::Plugin::AssetPack::Pipe::Sass(3pm)

Mojolicious::Plugin::AssetPack::Pipe::Sass - Process sass and scss files

  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];
    }
  });

The sass file below shows how to use the custom "image-url" function:

  body {
    background: #fff image-url('img.png') top left;
  }

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.

  $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.

  $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 "process" in Mojolicious::Plugin::AssetPack::Pipe.

Mojolicious::Plugin::AssetPack.

2023-02-04 perl v5.36.0