|
1 | | -[![Build Status][ci-img]][ci] [![codecov][codecov-img]][codecov] [![npm][npm-img]][npm] |
| 1 | +# postcss-icss-selectors [![Build Status][travis-img]][travis] |
2 | 2 |
|
3 | | -# CSS Modules: Local by Default |
| 3 | +[PostCSS]: https://github.com/postcss/postcss |
| 4 | +[travis-img]: https://travis-ci.org/css-modules/postcss-icss-selectors.svg |
| 5 | +[travis]: https://travis-ci.org/css-modules/postcss-icss-selectors |
4 | 6 |
|
5 | | -Transformation examples: |
| 7 | +PostCSS plugin for css modules to to local-scope classes and ids |
| 8 | + |
| 9 | +## Usage |
| 10 | + |
| 11 | +```js |
| 12 | +postcss([ require('postcss-icss-selectors')(options) ]) |
| 13 | +``` |
| 14 | + |
| 15 | +See [PostCSS] docs for examples for your environment. |
| 16 | + |
| 17 | +### Options |
| 18 | + |
| 19 | +#### mode |
| 20 | + |
| 21 | +`local` by default or `global` |
| 22 | + |
| 23 | +In local mode |
6 | 24 |
|
7 | 25 | ```css |
8 | | -.foo { ... } /* => */ :local(.foo) { ... } |
| 26 | +.foo { ... } /* => */ .file__foo---h63h { ... } |
9 | 27 |
|
10 | | -.foo .bar { ... } /* => */ :local(.foo) :local(.bar) { ... } |
| 28 | +.foo .bar { ... } /* => */ .file__foo----h63h .file__bar----h63h { ... } |
11 | 29 |
|
12 | 30 | /* Shorthand global selector */ |
13 | 31 |
|
14 | 32 | :global .foo .bar { ... } /* => */ .foo .bar { ... } |
15 | 33 |
|
16 | | -.foo :global .bar { ... } /* => */ :local(.foo) .bar { ... } |
| 34 | +.foo :global .bar { ... } /* => */ .file__foo----h63h .bar { ... } |
17 | 35 |
|
18 | 36 | /* Targeted global selector */ |
19 | 37 |
|
20 | | -:global(.foo) .bar { ... } /* => */ .foo :local(.bar) { ... } |
| 38 | +:global(.foo) .bar { ... } /* => */ .foo .file__bar----h63h { ... } |
21 | 39 |
|
22 | | -.foo:global(.bar) { ... } /* => */ :local(.foo).bar { ... } |
| 40 | +.foo:global(.bar) { ... } /* => */ .file__foo----h63h.bar { ... } |
23 | 41 |
|
24 | | -.foo :global(.bar) .baz { ... } /* => */ :local(.foo) .bar :local(.baz) { ... } |
| 42 | +.foo :global(.bar) .baz { ... } /* => */ .file__foo----h63h .bar .file__baz----h63h { ... } |
25 | 43 |
|
26 | | -.foo:global(.bar) .baz { ... } /* => */ :local(.foo).bar :local(.baz) { ... } |
| 44 | +.foo:global(.bar) .baz { ... } /* => */ .file__foo----h63h.bar .file__baz----h63h { ... } |
27 | 45 | ``` |
28 | 46 |
|
29 | | -## Building |
| 47 | +In global mode |
30 | 48 |
|
31 | | -```bash |
32 | | -$ npm install |
33 | | -$ npm test |
34 | | -``` |
| 49 | +```css |
| 50 | +.foo { ... } /* => */ .foo { ... } |
35 | 51 |
|
36 | | - - Build: [![Build Status][ci-img]][ci] |
37 | | - - Lines: [![coveralls][coveralls-img]][coveralls] |
38 | | - - Statements: [![codecov][codecov-img]][codecov] |
| 52 | +.foo .bar { ... } /* => */ .foo .bar { ... } |
39 | 53 |
|
40 | | -## Development |
| 54 | +/* Shorthand local selector */ |
41 | 55 |
|
42 | | -```bash |
43 | | -$ npm run autotest |
44 | | -``` |
| 56 | +:local .foo :global .bar { ... } /* => */ .file__foo----h63h .bar { ... } |
45 | 57 |
|
46 | | -## License |
| 58 | +.foo :local .bar { ... } /* => */ .foo .file__foo----h63h { ... } |
47 | 59 |
|
48 | | -MIT |
| 60 | +/* Targeted local selector */ |
49 | 61 |
|
50 | | -## With thanks |
| 62 | +:local(.foo) .bar { ... } /* => */ .file__foo----h63h .bar { ... } |
51 | 63 |
|
52 | | - - [Tobias Koppers](https://github.com/sokra) |
53 | | - - [Glen Maddern](https://github.com/geelen) |
| 64 | +.foo:local(.bar) { ... } /* => */ .foo.file__bar----h63h { ... } |
| 65 | + |
| 66 | +``` |
54 | 67 |
|
55 | | ---- |
56 | | -Mark Dalgleish, 2015. |
| 68 | +#### generateScopeName(localName, filepath, css) |
| 69 | + |
| 70 | +Converts every new local name in #id or .class defintion to global alias. |
| 71 | +By default returns `[name]__[local]---[hash:base64:5]`. |
| 72 | + |
| 73 | + |
| 74 | +## License |
57 | 75 |
|
58 | | -[ci-img]: https://img.shields.io/travis/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square |
59 | | -[ci]: https://travis-ci.org/css-modules/postcss-modules-local-by-default |
60 | | -[npm-img]: https://img.shields.io/npm/v/postcss-modules-local-by-default.svg?style=flat-square |
61 | | -[npm]: https://www.npmjs.com/package/postcss-modules-local-by-default |
62 | | -[coveralls-img]: https://img.shields.io/coveralls/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square |
63 | | -[coveralls]: https://coveralls.io/r/css-modules/postcss-modules-local-by-default?branch=master |
64 | | -[codecov-img]: https://img.shields.io/codecov/c/github/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square |
65 | | -[codecov]: https://codecov.io/github/css-modules/postcss-modules-local-by-default?branch=master |
| 76 | +MIT © Mark Dalgleish and Bogdan Chadkin, 2015 |
0 commit comments