Text::Sass::XS - Perl Binding for libsass
# OO Interface use Text::Sass::XS; use Try::Tiny; my $sass = Text::Sass::XS->new; try { my $css = $sass->compile(".something { color: red; }"); } catch { die $_; }; # OO Interface with options my $sass = Text::Sass::XS->new( include_paths => ['path/to/include'], image_path => '/images', output_style => SASS_STYLE_COMPRESSED, source_comments => SASS_SOURCE_COMMENTS_NONE, ); try { my $css = $sass->compile(".something { color: red; }"); } catch { die $_; }; # Compile from file. my $sass = Text::Sass::XS->new; my $css = $sass->compile_file("/path/to/foo.scss"); # with options. my $sass = Text::Sass::XS->new( include_paths => ['path/to/include'], image_path => '/images', output_style => SASS_STYLE_COMPRESSED, source_comments => SASS_SOURCE_COMMENTS_NONE, ); my $css = $sass->compile_file("/path/to/foo.scss"); # Functional Interface # export sass_compile, sass_compile_file and some constants use Text::Sass::XS ':all'; my $sass = "your sass string here..."; my $options = { output_style => SASS_STYLE_COMPRESSED, source_comments => SASS_SOURCE_COMMENTS_NONE, include_paths => 'site/css:vendor/css', image_path => '/images' }; my ($css, $errstr) = sass_compile($sass, $options); die $errstr if $errstr; my $sass_filename = "/path/to/foo.scss"; my $options = { output_style => SASS_STYLE_COMPRESSED, source_comments => SASS_SOURCE_COMMENTS_NONE, include_paths => 'site/css:vendor/css', image_path => '/images' }; # In scalar context, sass_compile(_file)? returns css only. my $css = sass_compile_file($sass_filename, $options); print $css; # Text::Sass compatible Interface my $sass = Text::Sass::XS->new(%options); my $css = $sass->scss2css($source); # sass2css and css2sass are implemented by Text::Sass my $css = $sass->sass2css($source); my $scss = $sass->css2sass($css);
Text::Sass::XS is a Perl Binding for libsass.
libsass Project page
new
$sass = Text::Sass::XS->new(options)
Creates a Sass object with the specified options. Example:
$sass = Text::Sass::XS->new; # no options $sass = Text::Sass::XS->new(output_style => SASS_STYLE_NESTED);
compile(source_code)
$css = $sass->compile("source code");
This compiles the Sass string that is passed in the first parameter. If there is an error it will croak().
croak()
compile_file(input_path)
$css = $sass->compile_file("/path/to/foo.scss");
This compiles the Sass file that is passed in the first parameter. If there is an error it will croak().
options
$sass->options->{include_paths} = ['/path/to/assets'];
Allows you to inspect or change the options after a call to new.
scss2css(source_code)
$css = $sass->scss2css("scss souce code");
Same as compile.
compile
sass2css(source_code)
$css = $sass->compile("sass source code");
Wrapper method of Text::Sass#sass2css.
Text::Sass#sass2css
css2sass(source_code)
$css = $sass->css2sass("css source code");
Wrapper method of Text::Sass#css2sass.
Text::Sass#css2sass
Nothing to export.
sass_compile($source_string :Str, $options :HashRef)
Returns css string if success. Otherwise throws exception.
Default value of $options is below.
$options
my $options = { output_style => SASS_STYLE_COMPRESSED, source_comments => SASS_SOURCE_COMMENTS_NONE, include_paths => undef, image_path => undef, };
input_paths is a coron-separated string for "@import". image_path is a string using for "image-url".
input_paths
image_path
sass_compile_file($input_path :Str, $options :HashRef)
Returns css string if success. Otherwise throws exception. $options is same as sass_compile.
sass_compile
For $options->{output_style}.
$options->{output_style}
SASS_STYLE_NESTED
SASS_STYLE_EXPANDED
SASS_STYLE_COMPRESSED
For $options->{source_comments}.
$options->{source_comments}
SASS_SOURCE_COMMENTS_NONE
SASS_SOURCE_COMMENTS_DEFAULT
SASS_SOURCE_COMMENTS_MAP
Exports sass_compile and sass_compile_file.
sass_compile_file
Exports all constants.
Exports :func and :const.
Text::Sass - Pure perl implementation.
CSS::Sass - Yet another libsass binding.
Copyright (C) 2013 Yoshihiro Sasaki.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Copyright (C) 2012 by Hampton Catlin.
See libsass/LICENSE for more details.
Yoshihiro Sasaki <ysasaki@cpan.org>
To install Text::Sass::XS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Text::Sass::XS
CPAN shell
perl -MCPAN -e shell install Text::Sass::XS
For more information on module installation, please visit the detailed CPAN module installation guide.