0.0
No commit activity in last 3 years
No release in over 3 years
Sass wrapper for a JavaScript library for escaping CSS strings and identifiers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
>= 0
 Project Readme

Sassy Escape Build Status

A Sass wrapper for cssesc, a JavaScript library for escaping text for use in CSS strings or identifiers.

escape($value, $options...)

This function takes a value and returns an escaped version of the value where any characters that are not printable ASCII symbols are escaped using the shortest possible (but valid) escape sequences for use in CSS strings or identifiers.

body::after {
  content: escape('Ich ♥ Bücher');
}

// Becomes this:
body::after {
  content: 'Ich \2665  B\FC cher';
}

By default, escape returns a string that can be used as part of a CSS string. If the target is a CSS identifier rather than a CSS string, use the $is-identifier: true setting.

.#{ unquote(escape('123a2b', $is-identifier: true)) } {
  color: red;
}

// Becomes this:
.\31 23ab {
  color: red;
}

The optional keyword arguments accept the exact options which JavaScript version cssesc uses only converted to the dasherized-case:

body::after {
  content: escape('123a2b', $escape-everything: true, $quotes: 'single', $wrap: true);
}

Installation

gem install sassy-escape

Use with Sass command line

sass -r sassy-escape --watch sass_dir:css_dir

Use with Compass

Add the following to your Compass configuration:

require 'sass-escape'