postcss-sassy-mixins
Version:
PostCSS plugin for sass-like mixins
122 lines (90 loc) • 2.27 kB
Markdown
[] plugin for sass-like mixins.
[]: https://github.com/postcss/postcss
[]: https://github.com/postcss/postcss-mixins
[]: https://travis-ci.org/andyjansson/postcss-sassy-mixins.svg
[]: https://travis-ci.org/andyjansson/postcss-sassy-mixins
```js
npm install postcss-sassy-mixins
```
```js
var postcss = require('postcss');
var mixins = require('postcss-sassy-mixins');
var options = {
// options here
};
var output = postcss()
.use(mixins(options))
.process(css)
.css;
```
```css
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
.box { @include border-radius(10px); }
```
Turns into:
```css
.box {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
border-radius: 10px;
}
```
Type: `Object`
Object of mixins. The mixin can either be a function or an object.
```js
require('postcss-mixins')({
mixins: {
clearfix: {
'&::after': {
content: '""',
display: 'table',
clear: 'both'
}
},
color: function (rule, color) {
rule.replaceWith({ prop: 'color', value: color });
}
}
})
```
Type: `string|string[]`
Autoload all mixins from one or more directories. The name of the mixin will be taken from file name.
```js
// gulpfile.js
require('postcss-mixins')({
mixinsDir: path.join(__dirname, 'mixins')
})
// mixins/clearfix.js
module.exports = {
'&::after': {
content: '""',
display: 'table',
clear: 'both'
}
}
```
Type: `string|string[]`
Similar to [`mixinsDir`](
[](https://github.com/isaacs/node-glob) syntax to target or not target
specific files.
```js
require('postcss-mixins')({
mixinsFiles: path.join(__dirname, 'mixins', '!(*.spec.js)')
})
```
### `silent`
Type: `boolean`
Remove unknown mixins and do not throw a error. Default is `false`.