智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LightingSystemApp-serial/.svn/pristine/17/176fb5ce26839bbc7701af9454b...

149 lines
3.9 KiB

3 years ago
## postcss-helpers [![Build Status](https://secure.travis-ci.org/iAdramelk/postcss-helpers.png)](https://travis-ci.org/iAdramelk/postcss-helpers)
> Some general purpose helpers for PostCSS, created to make working with url() and @import values more easy. Can be used without PostCSS.
### Getting Started
```shell
npm install postcss-helpers
```
### Helpers
#### #createUrlsHelper( rule )
Returns new UrlsHelper object from the rule string with one or more url() (see description below).
#### #createImportHelper( rule )
Returns new ImportHelper object from the @import value string (see description below).
### new UrlsHelper( rule )
Object for manipulating values of rules with one or multiple url().
#### #getOriginalRule
Returns original rule that it was created with.
#### #getOriginalURIS
Returns Array of all original URI in string. NOT mutated URIs.
#### #URIS
Array of one or more [urijs](http://medialize.github.io/URI.js/) objects that can be used for URI manipulations. If there is no url() in the rule returns false.
For example you can use UrlsHelper.URIS[0].href() to get value for the first url() and UrlsHelper.URIS[0].href('new_uri') to set new URI value. See [full documentation](http://medialize.github.io/URI.js/docs.html).
#### #getModifiedRule
After you finished changing values of the URIS you can get modified rule text with this command.
### new ImportHelper( rule )
Object for manipulating values of @import at-rules.
#### #getOriginalRule
Returns original rule that it was created with.
#### #getOriginalURI
Returns original URI from string. NOT mutated URI.
#### #URI
[urijs](http://medialize.github.io/URI.js/) objects that can be used for URI manipulations. If there is no url() in the rule returns false.
For example you can use ImportHelper.URI.href() to get import value and ImportHelper.URI.href('new_uri') to set new URI value. See [full documentation](http://medialize.github.io/URI.js/docs.html).
#### #getModifiedRule
After you finished changing values of the URI you can get modified rule text with this command.
#### #getOriginalMediaQuery
Returns media query from original string.
#### #setMediaQuery( query )
Replace old media query or creates new one.
#### #getMediaQuery
Returns current media query from string.
### Other
#### #regexp
Collection of some useful RegExps based on CSS specification grammar rules: http://www.w3.org/TR/CSS21/grammar.html
- STRINGS – RegExp for css <string> with 'ig' flags.
- URLS – RegExp for css <uri> with 'ig' flags.
### Examples
Modify string with multiple url() fragments:
```javascript
var helpers = require( 'postcss-helpers' );
var rule = 'url(logo1.png)', url( 'logo2.png' ), url( "logo3.png");
var helper = helpers.createUrlsHelper( rule );
helper.URIS.forEach( function( uri ) {
uri.suffix( 'jpeg' );
} );
var modifiedRule = helper.getModifiedRule(); // url(logo1.jpeg)', url( 'logo2.jpeg' ), url( "logo3.jpeg")
```
Modify @import value:
```javascript
var helpers = require( 'postcss-helpers' );
var rule = '"src/print.css" print';
var helper = helpers.createImportHelper( rule );
helper.URI.directory( 'dist' );
helper.getMediaQuery(); // print
helper.setMediaQuery( 'screen' );
var modifiedRule = helper.getModifiedRule(); // "dist/print.css" screen
```
Test if string contains url() fragments:
```javascript
var helpers = require( 'postcss-helpers' );
var rule = 'url(logo1.png)', url( 'logo2.png' ), url( "logo3.png");
helpers.regexp.URIS.test( rule ); // true
```
### Known problems
UrlsHelper() and ImportHelper() will not escape quotes in the new URI values so escape them yourself.
### Release History
See [CHANGELOG](/CHANGELOG) for detailed changes.
* 2014-08-080.1.0Initial release.
* 2014-08-110.1.1Make RegExps public. Fixed ?#iefix bug.
* 2014-08-120.2.0Added methods for getting original url() values and for media query manipulations.