sass-json-export
allows you to export your Sass data structures as JSON.
It is based on Kitty Giraudel's SassyJSON, which is no longer maintained. It is simplified to include only the JSON exporter from SassyJSON, and not the (much more complex) JSON parser.
sass-json-export is available on npm.
git clone https://github.com/oddbird/sass-json-export.git && cd sass-json-export
npm install sass-json-export --save-dev
$map: ((a: (1 2 ( b : 1 )), b: ( #444444, false, ( a: 1, b: test ) ), c: (2 3 4 string)));
@include json-encode($map);
/*! json-encode: '{"a": [1, 2, {"b": 1}], "b": ["#444444", false, {"a": 1, "b": "test"}], "c": [2, 3, 4, "string"]}' */
body::before {
display:block;
width:0;height:0;
overflow:hidden;
content: '{"a": [1, 2, {"b": 1}], "b": ["#444444", false, {"a": 1, "b": "test"}], "c": [2, 3, 4, "string"]}';
}
head {
font-family: '{"a": [1, 2, {"b": 1}], "b": ["#444444", false, {"a": 1, "b": "test"}], "c": [2, 3, 4, "string"]}';
}
@media -json-encode {
json {
json: '{"a": [1, 2, {"b": 1}], "b": ["#444444", false, {"a": 1, "b": "test"}], "c": [2, 3, 4, "string"]}';
}
}
If you want to restrict the output to only one of the three drivers (comment,
media query or regular output) you can pass a flag as the second parameter with
one of the four following keywords: all
, comment
, media
or
regular
. Default is all
.
All you need is Sass 3.3+. Otherwise it's just pure Sass madness.
grunt-cli
via npm install -g grunt-cli
npm install
grunt dev