
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
postcss-advanced-variables
Advanced tools
PostCSS Advanced Variables lets you use Sass-like variables, conditionals, and iterators in CSS.
$dir: assets/icons;
@each $icon in (foo, bar, baz) {
.icon-$icon {
background: url('$dir/$icon.png');
}
}
@for $index from 1 to 5 by 2 {
.col-$index {
width: $(index)0%;
}
}
/* after */
.icon-foo {
background: url('assets/icons/foo.png');
}
.icon-bar {
background: url('assets/icons/bar.png');
}
.icon-baz {
background: url('assets/icons/baz.png');
}
.col-1 {
width: 10%;
}
.col-3 {
width: 30%;
}
.col-5 {
width: 50%;
}
Add PostCSS Advanced Variables to your build tool:
npm install postcss-advanced-variables --save-dev
Use PostCSS Advanced Variables to process your CSS:
require('postcss-advanced-variables').process(YOUR_CSS);
Add PostCSS to your build tool:
npm install postcss --save-dev
Use PostCSS Advanced Variables as a plugin:
postcss([
require('postcss-advanced-variables')(/* options */)
]).process(YOUR_CSS);
Add Gulp PostCSS to your build tool:
npm install gulp-postcss --save-dev
Use PostCSS Advanced Variables in your Gulpfile:
var postcss = require('gulp-postcss');
gulp.task('css', function () {
return gulp.src('./src/*.css').pipe(
postcss([
require('postcss-advanced-variables')(/* options */)
])
).pipe(
gulp.dest('.')
);
});
Add Grunt PostCSS to your build tool:
npm install grunt-postcss --save-dev
Use PostCSS Advanced Variables in your Gruntfile:
grunt.loadNpmTasks('grunt-postcss');
grunt.initConfig({
postcss: {
options: {
use: [
require('postcss-advanced-variables')(/* options */)
]
},
dist: {
src: '*.css'
}
}
});
variables
The variables
option lets you specify your own global variables.
require('postcss-advanced-variables')({
variables: {
'site-width': '960px'
}
});
The variables
option also accepts a function, which will be given 2 arguments;
the name of the unresolved variable, and the PostCSS node that used it.
require('postcss-advanced-variables')({
variables(name, node) {
if (name === 'site-width') {
return '960px';
}
return undefined;
}
});
.hero {
max-width: $site-width;
}
/* after */
.hero {
max-width: 960px;
}
unresolved
The unresolved
option lets you determine how unresolved variables should be
handled. The available options are throw
, warn
, and ignore
. The default
option is to throw
.
require('postcss-advanced-variables')({
unresolved: 'ignore' // ignore unresolved variables
});
2.0.0 (December 31, 2017)
unresolved
option to throw errors or warnings on unresolved variables#{$var}
syntax@each
at-rules@if
at-rules
(@each $item $index in $array
)$a$b
@if
at-rulesFAQs
Use Sass-like variables, conditionals, and iterators in CSS
We found that postcss-advanced-variables demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.