aboutsummaryrefslogtreecommitdiff
path: root/node_modules/postcss-minify-font-values/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-minify-font-values/index.js')
-rw-r--r--node_modules/postcss-minify-font-values/index.js38
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));
+ };
+});