Browse Source

Update to v0.0.2

pull/1/head
Dmitry Karpunin 10 years ago
parent
commit
2b8e75f569
  1. 30
      .gitignore
  2. 5
      .npmignore
  3. 0
      LICENSE
  4. 5
      example/main-viewport.css
  5. 5
      example/main.css
  6. 16
      index.js
  7. 2
      package.json

30
.gitignore

@ -2,33 +2,5 @@
logs
*.log
npm-debug.log*
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directory
# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
node_modules
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
postcss-px-to-em-master

5
.npmignore

@ -0,0 +1,5 @@
.idea
.gitignore
npm-debug.log*
node_modules
spec

0
LICENSE

5
example/main-viewport.css

@ -1,11 +1,14 @@
.class {
margin: -3.125vw .5vh;
padding: 5vmin 2.96875vw;
padding: 5vmin 2.96875vw 1px;
border: 0.9375vw solid black;
border-bottom-width: 1px;
font-size: 4.375vw;
line-height: 6.25vw;
}
.class2 {
border: 1px solid black;
margin-bottom: 1px;
font-size: 6.25vw;
line-height: 9.375vw;
}

5
example/main.css

@ -1,11 +1,14 @@
.class {
margin: -10px .5vh;
padding: 5vmin 9.5px;
padding: 5vmin 9.5px 1px;
border: 3px solid black;
border-bottom-width: 1px;
font-size: 14px;
line-height: 20px;
}
.class2 {
border: 1px solid black;
margin-bottom: 1px;
font-size: 20px;
line-height: 30px;
}

16
index.js

@ -17,15 +17,14 @@ var defaults = {
unitPrecision: 5,
viewportUnit: 'vw',
selectorBlackList: [],
//propWhiteList: ['font', 'font-size', 'line-height', 'letter-spacing'],
replace: true,
minPixelValue: 1,
mediaQuery: false
};
module.exports = postcss.plugin('postcss-px-to-viewport', function (options) {
var opts = objectAssign({}, defaults, options);
var pxReplace = createPxReplace(opts.viewportWidth, opts.unitPrecision, opts.viewportUnit);
var pxReplace = createPxReplace(opts.viewportWidth, opts.minPixelValue, opts.unitPrecision, opts.viewportUnit);
return function (css) {
@ -33,16 +32,8 @@ module.exports = postcss.plugin('postcss-px-to-viewport', function (options) {
// This should be the fastest test and will remove most declarations
if (decl.value.indexOf('px') === -1) return;
// if (opts.propWhiteList.length && opts.propWhiteList.indexOf(decl.prop) === -1) return;
if (blacklistedSelector(opts.selectorBlackList, decl.parent.selector)) return;
//var value = decl.value.replace(pxRegex, pxReplace);
//
////// if viewport unit already exists, do not replace
////if (declarationExists(decl.parent, decl.prop, value)) return;
//
//decl.value = value;
decl.value = decl.value.replace(pxRegex, pxReplace);
});
@ -56,10 +47,11 @@ module.exports = postcss.plugin('postcss-px-to-viewport', function (options) {
};
});
function createPxReplace(viewportSize, unitPrecision, viewportUnit) {
function createPxReplace(viewportSize, minPixelValue, unitPrecision, viewportUnit) {
return function (m, $1) {
if (!$1) return m;
var pixels = parseFloat($1);
if (pixels <= minPixelValue) return m;
return toFixed((pixels / viewportSize * 100), unitPrecision) + viewportUnit;
};
}

2
package.json

@ -1,7 +1,7 @@
{
"name": "postcss-px-to-viewport",
"description": "A CSS post-processor that converts px to viewport units (vw, vh, vmin, vmax).",
"version": "0.0.1",
"version": "0.0.2",
"author": "Dmitry Karpunin <koderfunk@gmail.com>",
"license": "MIT",
"repository": {

Loading…
Cancel
Save