diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/css-what/readme.md | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/css-what/readme.md')
| -rw-r--r-- | node_modules/css-what/readme.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/css-what/readme.md b/node_modules/css-what/readme.md new file mode 100644 index 00000000..4097a95a --- /dev/null +++ b/node_modules/css-what/readme.md @@ -0,0 +1,51 @@ +# css-what [](http://travis-ci.org/fb55/css-what) + +a CSS selector parser + +## Example + +```js +require('css-what')('foo[bar]:baz') + +~> [ [ { type: 'tag', name: 'foo' }, + { type: 'attribute', + name: 'bar', + action: 'exists', + value: '', + ignoreCase: false }, + { type: 'pseudo', + name: 'baz', + data: null } ] ] +``` + +## API + +__`CSSwhat(selector, options)` - Parses `str`, with the passed `options`.__ + +The function returns a two-dimensional array. The first array represents selectors separated by commas (eg. `sub1, sub2`), the second contains the relevant tokens for that selector. Possible token types are: + +name | attributes | example | output +---- | ---------- | ------- | ------ +`tag`| `name` | `div` | `{ type: 'tag', name: 'div' }` +`universal`| - | `*` | `{ type: 'universal' }` +`pseudo`| `name`, `data`|`:name(data)`| `{ type: 'pseudo', name: 'name', data: 'data' }` +`pseudo`| `name`, `data`|`:name`| `{ type: 'pseudo', name: 'name', data: null }` +`pseudo-element`| `name` |`::name`| `{ type: 'pseudo-element', name: 'name' }` +`attribute`|`name`, `action`, `value`, `ignoreCase`|`[attr]`|`{ type: 'attribute', name: 'attr', action: 'exists', value: '', ignoreCase: false }` +`attribute`|`name`, `action`, `value`, `ignoreCase`|`[attr=val]`|`{ type: 'attribute', name: 'attr', action: 'equals', value: 'val', ignoreCase: false }` +`attribute`|`name`, `action`, `value`, `ignoreCase`|`[attr^=val]`|`{ type: 'attribute', name: 'attr', action: 'start', value: 'val', ignoreCase: false }` +`attribute`|`name`, `action`, `value`, `ignoreCase`|`[attr$=val]`|`{ type: 'attribute', name: 'attr', action: 'end', value: 'val', ignoreCase: false }` +`child`| - | `>` | `{ type: 'child' }` +`parent`| - | `<` | `{ type: 'parent' }` +`sibling`| - | `~` | `{ type: 'sibling' }` +`adjacent`| - | `+` | `{ type: 'adjacent' }` +`descendant`| - | | `{ type: 'descendant' }` + + +__Options:__ + +- `xmlMode`: When enabled, tag names will be case-sensitive (meaning they won't be lowercased). + +--- + +License: BSD-2-Clause |
