Son CV dans un terminal web en Javascript!
https://terminal-cv.gregandev.fr
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
var lexer = require('css-tree').lexer;
|
|
var packNumber = require('./Number').pack;
|
|
var blacklist = new Set([
|
|
// see https://github.com/jakubpawlowicz/clean-css/issues/957
|
|
'width',
|
|
'min-width',
|
|
'max-width',
|
|
'height',
|
|
'min-height',
|
|
'max-height',
|
|
|
|
// issue #410: Don’t remove units in flex-basis value for (-ms-)flex shorthand
|
|
// issue #362: shouldn't remove unit in -ms-flex since it breaks flex in IE10/11
|
|
// issue #200: shouldn't remove unit in flex since it breaks flex in IE10/11
|
|
'flex',
|
|
'-ms-flex'
|
|
]);
|
|
|
|
module.exports = function compressPercentage(node, item) {
|
|
node.value = packNumber(node.value, item);
|
|
|
|
if (node.value === '0' && this.declaration && !blacklist.has(this.declaration.property)) {
|
|
// try to convert a number
|
|
item.data = {
|
|
type: 'Number',
|
|
loc: node.loc,
|
|
value: node.value
|
|
};
|
|
|
|
// that's ok only when new value matches on length
|
|
if (!lexer.matchDeclaration(this.declaration).isType(item.data, 'length')) {
|
|
// otherwise rollback changes
|
|
item.data = node;
|
|
}
|
|
}
|
|
};
|
|
|