atrule-bem
Efficiently create BEM components.
Input / Output
Put in:
@ @}
Get out:
Options
strict
Type: Boolean
Default: true
Disallows improperly formed components
- Block's can only have: Elements and Modifiers.
- Elements can only have Modifiers.
- Modifiers cannot house any types.
Side Effect: turning off strict
turns off warnings
warn
Type: Boolean
Default: true
Turns on warnings for imporperly formed components
shortcuts
Type: Boolean
Default: false
separators
Type: Object
Default: { element: '__', modifier: '--' }
Usage
Add atrule-bem to your build tool:
npm install --save-dev postcss-atrule-bem
Node
; atRuleBem;
PostCSS
Add PostCSS to your build tool:
npm install postcss --save-dev
Load atrule-bem as a PostCSS plugin:
; ;
Examples
/* you can chain selectors with commas `,` */ /* input: */@} /* output: */
Pull requests welcome.
Open for pull requests in the following areas:
- Collision detection
- throw a warning and don't compile when:
- a block is created twice (name collisions)
- a block makes reference to another block
- throw a warning and don't compile when:
Updating 3.0 for CommonJS users.
I added a babel plugin to correctly adapt the default export to the expected CommonJS type.
To upgrade change const atRuleBem = require('postcss-atrule-bem').default;
to const atRuleBem = require('postcss-atrule-bem');