css-font

Parse or stringify CSS font property.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
css-font
201.2.04 years ago5 years agoMinified + gzip package size for css-font in KB

Readme

css-font unstable Travis Build Status
Parse or stringify the CSS font property string.

Usage

npm install css-font ```js var font = require('css-font'); var obj = font.parse('small-caps 1rem/1.2 "Roboto Condensed", sans-serif'); / {
size: '1rem',
lineHeight: 1.2,
variant: 'small-caps',
family: ['Roboto Condensed', 'sans-serif']
}
/ font.stringify(obj) // '1rem "Roboto Condensed", sans-serif' ``` See the tests for more scenarios.

API

obj = font.parse(str)

Return object with font properties from the CSS font string. Detected properties: Property | Meaning ---|--- style | Font-style detected by css-font-style-keywords. variant | Font-variant, one of normal or small-caps. weight | Font-weight detected by css-font-weight-keywords. stretch | Font-stretch detected by css-font-stretch-keywords. size | Font-size detected by css-font-size-keywords. lineHeight | Line-height value. family | Font-family array of values.

str = font.stringify(obj)

Return string from the object with font properties by the CSS font syntax. Stringified properties: Property | Meaning ---|--- style, fontStyle, distrinction | Font-style value. variant, fontVariant, capitalization | Font-variant value, one of normal or small-caps. weight, fontWeight | Font-weight value, one of the set of weights (see above). stretch, fontStretch, width | Font-stretch value, one of the set (see above). size fontSize, height | Font-size value, number or a string. Number is considered a px units. If undefined, 1rem is used. lineHeight, leading | Line-height value, number or string. Number is considered a unitless ratio value. family, fontFamily, face | Font-family, string or a list with strings. Not default strings are wrapped to quotes. system | Reserved system word.

Testing

``` $ npm test ``` This will run tests and generate a code coverage report. Anything less than 100% coverage will throw an error.

Acknowledgement

License

© 2018 Dmitry Yv. MIT License Development supported by plot.ly.