diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:43:05 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 22:18:30 +0800 |
| commit | 89e95b3f143682ed9a006991bacf45c9dcba4818 (patch) | |
| tree | 4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/postcss-minify-font-values | |
| parent | aa7f0199255277949790b41c56e8ec97dd4f0da4 (diff) | |
| download | xmake-docs-vuepress.tar.gz xmake-docs-vuepress.zip | |
remove node_modulesvuepress
Diffstat (limited to 'node_modules/postcss-minify-font-values')
9 files changed, 0 insertions, 386 deletions
diff --git a/node_modules/postcss-minify-font-values/LICENSE b/node_modules/postcss-minify-font-values/LICENSE deleted file mode 100644 index 6dcaefcb..00000000 --- a/node_modules/postcss-minify-font-values/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) Bogdan Chadkin <trysound@yandex.ru> - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/postcss-minify-font-values/README.md b/node_modules/postcss-minify-font-values/README.md deleted file mode 100644 index 35514455..00000000 --- a/node_modules/postcss-minify-font-values/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# postcss-minify-font-values [![Build Status][ci-img]][ci] - -> Minify font declarations with PostCSS. - -This module will try to minimise the `font-family`, `font-weight` and `font` shorthand -properties; it can unquote font families where necessary, detect & remove -duplicates, and cut short a declaration after it finds a keyword. For more -examples, see the [tests](test). - -```css -h1 { - font:bold 2.2rem/.9 "Open Sans Condensed", sans-serif; -} - -p { - font-family: "Helvetica Neue", Arial, sans-serif, Helvetica; - font-weight: normal; -} -``` - -```css -h1 { - font:700 2.2rem/.9 Open Sans Condensed,sans-serif -} - -p { - font-family: Helvetica Neue,Arial,sans-serif; - font-weight: 400; -} -``` - -## API - -### minifyFontValues([options]) - -#### options - -##### removeAfterKeyword - -Type: `boolean` -Default: `true` - -Pass `false` to disable the module from removing font families after it -encounters a font keyword, for example `sans-serif`. - -##### removeDuplicates - -Type: `boolean` -Default: `true` - -Pass `false` to disable the module from removing duplicated font families. - -##### removeQuotes - -Type: `boolean` -Default: `true` - -Pass `false` to disable the module from removing quotes from font families. -Note that oftentimes, this is a *safe optimisation* & is done safely. For more -details, see [Mathias Bynens' article][mathias]. - -## Usage - -```js -postcss([ require('postcss-minify-font-values') ]) -``` - -See [PostCSS] docs for examples for your environment. - -MIT © [Bogdan Chadkin](mailto:trysound@yandex.ru) - -[mathias]: https://mathiasbynens.be/notes/unquoted-font-family -[PostCSS]: https://github.com/postcss/postcss -[ci-img]: https://travis-ci.org/TrySound/postcss-minify-font-values.svg -[ci]: https://travis-ci.org/TrySound/postcss-minify-font-values diff --git a/node_modules/postcss-minify-font-values/index.js b/node_modules/postcss-minify-font-values/index.js deleted file mode 100644 index 2a6831b3..00000000 --- a/node_modules/postcss-minify-font-values/index.js +++ /dev/null @@ -1,38 +0,0 @@ -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)); - }; -}); diff --git a/node_modules/postcss-minify-font-values/lib/keywords.js b/node_modules/postcss-minify-font-values/lib/keywords.js deleted file mode 100644 index db321726..00000000 --- a/node_modules/postcss-minify-font-values/lib/keywords.js +++ /dev/null @@ -1,44 +0,0 @@ -var keywords = module.exports = { - style: [ - 'italic', - 'oblique' - ], - variant: [ - 'small-caps' - ], - weight: [ - '100', - '200', - '300', - '400', - '500', - '600', - '700', - '800', - '900', - 'bold', - 'lighter', - 'bolder' - ], - stretch: [ - 'ultra-condensed', - 'extra-condensed', - 'condensed', - 'semi-condensed', - 'semi-expanded', - 'expanded', - 'extra-expanded', - 'ultra-expanded' - ], - size: [ - 'xx-small', - 'x-small', - 'small', - 'medium', - 'large', - 'x-large', - 'xx-large', - 'larger', - 'smaller' - ] -}; diff --git a/node_modules/postcss-minify-font-values/lib/minify-family.js b/node_modules/postcss-minify-font-values/lib/minify-family.js deleted file mode 100644 index 3ad601f5..00000000 --- a/node_modules/postcss-minify-font-values/lib/minify-family.js +++ /dev/null @@ -1,101 +0,0 @@ -var stringify = require('postcss-value-parser').stringify; -var uniqs = require('./uniqs')('monospace'); - -// Note that monospace is missing intentionally from this list; we should not -// remove instances of duplicated monospace keywords, it causes the font to be -// rendered smaller in Chrome. - -var keywords = [ - 'sans-serif', - 'serif', - 'fantasy', - 'cursive' -]; - -function intersection(haystack, array) { - return array.some(function (v) { - return ~haystack.indexOf(v); - }); -}; - -module.exports = function (nodes, opts) { - var family = []; - var last = null; - var i, max; - - nodes.forEach(function (node, index, nodes) { - var value = node.value; - - if (node.type === 'string' || node.type === 'function') { - family.push(node); - } else if (node.type === 'word') { - if (!last) { - last = { type: 'word', value: '' }; - family.push(last); - } - - last.value += node.value; - } else if (node.type === 'space') { - if (last && index !== nodes.length - 1) { - last.value += ' '; - } - } else { - last = null; - } - }); - - family = family.map(function (node) { - if (node.type === 'string') { - if ( - !opts.removeQuotes || - intersection(node.value, keywords) || - /[0-9]/.test(node.value.slice(0, 1)) - ) { - return stringify(node); - } - - var escaped = node.value.split(/\s/).map(function (word, index, words) { - var next = words[index + 1]; - if (next && /^[^a-z]/i.test(next)) { - return word + '\\'; - } - - if (!/^[^a-z\d\xa0-\uffff_-]/i.test(word)) { - return word.replace(/([^a-z\d\xa0-\uffff_-])/gi, '\\$1'); - } - - if (/^[^a-z]/i.test(word) && index < 1) { - return '\\' + word; - } - - return word; - }).join(' '); - - if (escaped.length < node.value.length + 2) { - return escaped; - } - } - - return stringify(node); - }); - - if (opts.removeAfterKeyword) { - for (i = 0, max = family.length; i < max; i += 1) { - if (~keywords.indexOf(family[i])) { - family = family.slice(0, i + 1); - break; - } - } - } - - if (opts.removeDuplicates) { - family = uniqs(family); - } - - return [ - { - type: 'word', - value: family.join() - } - ]; -}; diff --git a/node_modules/postcss-minify-font-values/lib/minify-font.js b/node_modules/postcss-minify-font-values/lib/minify-font.js deleted file mode 100644 index 3287fd64..00000000 --- a/node_modules/postcss-minify-font-values/lib/minify-font.js +++ /dev/null @@ -1,50 +0,0 @@ -var unit = require('postcss-value-parser').unit; -var keywords = require('./keywords'); -var minifyFamily = require('./minify-family'); -var minifyWeight = require('./minify-weight'); - -module.exports = function (nodes, opts) { - var i, max, node, familyStart, family; - var hasSize = false; - - for (i = 0, max = nodes.length; i < max; i += 1) { - node = nodes[i]; - if (node.type === 'word') { - if (node.value === 'normal' || - ~keywords.style.indexOf(node.value) || - ~keywords.variant.indexOf(node.value) || - ~keywords.stretch.indexOf(node.value)) { - if (!hasSize) { - familyStart = i; - } - } else if (~keywords.weight.indexOf(node.value)) { - if (!hasSize) { - node.value = minifyWeight(node.value, opts); - familyStart = i; - } - } else if (~keywords.size.indexOf(node.value) || unit(node.value)) { - if (!hasSize) { - familyStart = i; - hasSize = true; - } - } - } else if (node.type === 'div') { - node.before = ''; - node.after = ''; - if (node.value === '/') { - familyStart = i + 1; - } - break; - } else if (node.type === 'space') { - node.value = ' '; - } - } - - if (!isNaN(familyStart)) { - familyStart += 2; - family = minifyFamily(nodes.slice(familyStart), opts); - nodes = nodes.slice(0, familyStart).concat(family); - } - - return nodes; -}; diff --git a/node_modules/postcss-minify-font-values/lib/minify-weight.js b/node_modules/postcss-minify-font-values/lib/minify-weight.js deleted file mode 100644 index 6b4cbfb5..00000000 --- a/node_modules/postcss-minify-font-values/lib/minify-weight.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function (value) { - return value === 'normal' ? '400' : value === 'bold' ? '700' : value; -}; diff --git a/node_modules/postcss-minify-font-values/lib/uniqs.js b/node_modules/postcss-minify-font-values/lib/uniqs.js deleted file mode 100644 index a555b8e2..00000000 --- a/node_modules/postcss-minify-font-values/lib/uniqs.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = function uniqueExcept (exclude) { - return function unique () { - var list = Array.prototype.concat.apply([], arguments); - return list.filter(function (item, i) { - if (item === exclude) { - return true; - } - return i === list.indexOf(item); - }); - }; -}; diff --git a/node_modules/postcss-minify-font-values/package.json b/node_modules/postcss-minify-font-values/package.json deleted file mode 100644 index 88c782b3..00000000 --- a/node_modules/postcss-minify-font-values/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "postcss-minify-font-values", - "version": "1.0.5", - "description": "Minify font declarations with PostCSS", - "main": "index.js", - "files": [ - "index.js", - "lib" - ], - "scripts": { - "test": "tape test/*.js | tap-spec", - "posttest": "eslint index.js lib test" - }, - "author": "Bogdan Chadkin <trysound@yandex.ru>", - "license": "MIT", - "keywords": [ - "css", - "font", - "font-family", - "font-weight", - "optimise", - "postcss-plugin" - ], - "devDependencies": { - "eslint": "^1.3.1", - "tap-spec": "^4.1.0", - "tape": "^4.2.0" - }, - "dependencies": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/TrySound/postcss-minify-font-values.git" - }, - "bugs": { - "url": "https://github.com/TrySound/postcss-minify-font-values/issues" - }, - "homepage": "https://github.com/TrySound/postcss-minify-font-values" -} |
