css-font

    1.2.0 • Public • Published

    css-font unstable Travis Build Status

    Parse or stringify the CSS font property string.

    Usage

    npm install css-font

    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.

    Install

    npm i css-font

    DownloadsWeekly Downloads

    126,741

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    11.4 kB

    Total Files

    7

    Last publish

    Collaborators

    • dfcreative