diff options
Diffstat (limited to 'node_modules/postcss-minify-font-values/index.js')
| -rw-r--r-- | node_modules/postcss-minify-font-values/index.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/postcss-minify-font-values/index.js b/node_modules/postcss-minify-font-values/index.js new file mode 100644 index 00000000..2a6831b3 --- /dev/null +++ b/node_modules/postcss-minify-font-values/index.js @@ -0,0 +1,38 @@ +var assign = require('object-assign'); +var postcss = require('postcss'); +var valueParser = require('postcss-value-parser'); +var minifyWeight = require('./lib/minify-weight'); +var minifyFamily = require('./lib/minify-family'); +var minifyFont = require('./lib/minify-font'); + +function transform(opts) { + opts = assign({ + removeAfterKeyword: true, + removeDuplicates: true, + removeQuotes: true + }, opts); + + return function (decl) { + var tree; + + if (decl.type === 'decl') { + if (decl.prop === 'font-weight') { + decl.value = minifyWeight(decl.value, opts); + } else if (decl.prop === 'font-family') { + tree = valueParser(decl.value); + tree.nodes = minifyFamily(tree.nodes, opts); + decl.value = tree.toString(); + } else if (decl.prop === 'font') { + tree = valueParser(decl.value); + tree.nodes = minifyFont(tree.nodes, opts); + decl.value = tree.toString(); + } + } + }; +} + +module.exports = postcss.plugin('postcss-minify-font-values', function (opts) { + return function (css) { + css.walk(transform(opts)); + }; +}); |
