1.1.1 • Published 9 years ago
postcss-namespace v1.1.1
postcss-namespace
Install
npm i postcss-namespaceUsage
Write @prefix atrule to your css file.
(e.g. input.css)
.outside {}
@prefix block not(.not-target, /ignore/);
.box {}
.inner .target {}
.inner .not-target {}
.inner .ignore-1 {}
.inner .ignore-2,
.inner .target {}
@prefix ;
.box {}
@prefix block2;
.box {}
&:hover {}
[href^="https"][target="_blank"] {}
@media screen and (min-width: 768px) {
#media {}
#media #inner,
.media .inner.box {}
}Use this plugin in PostCSS (e.g.)
const fs = require('fs');
const postcss = require('postcss');
const namespace = require('postcss-namespace');
const css = fs.readFileSync('./sample.css', 'utf-8');
// or postcss([namespace.bem])
postcss([namespace({token: '__'})])
.process(css)
.then(result => console.log(result.css));Will get output like following CSS
.outside {}
.block__box {}
.block__inner .block__target {}
.block__inner .not-target {}
.block__inner .ignore-1 {}
.block__inner .ignore-2,
.block__inner .block__target {}
.box {}
.block2__box {}
&:hover {}
[href^="https"][target="_blank"] {}
@media screen and (min-width: 768px) {
#block2__media {}
#block2__media #block2__inner,
.block2__media .block2__inner.block2__box {}
}AtRule Function
not(string|regexp)...
Specify selector or pattern which Don't want a prefix
Plugin Function
namespace.bem
Same asnamespace({token: '__'})
Options
token
Token for consolidate(e.g.)namespace({token: '__'})-by default
Run to example
1 Close this
git clone git@github.com:totora0155/postcss-namespace.git2 Change directory
cd postcss-namespace3 Install modules
npm install4 Run to script
cd examples && node postcss.jsChange log
| version | log |
|---|---|
| 1.1.0 | Add bem function. (Alias {token: '__'}) |
| 1.0.1 | Fix node.nodes |
| 1.0.0 | Rewrite with es2015 & Add not func in AtRule |
| 0.2.5 | Bug fix for :nth* selector & Revert v0.2.2 |
| 0.2.4 | Bug fix for pseudo selector |
| 0.2.3 | Bug fix (Tag not output after atrule) |
| 0.2.2 | Fix, occured error to postcss-selector-not syntax |
| 0.2.0 | Change at-rule keyword to @prefix from @namespace #1 |