css-font-face-src
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

CSS @font-face rule src field parser – css-font-face-src

NPM version

A CSS @font-face src property value parser.

Basically it provides two operations:

  • parse: To convert a CSS property string to an array of easily readable objects. Each object either describes a local font (referenced using its family name) or a remote font (referenced using its URL).
  • serialize: To convert an object array back to a CSS property string.

Examples

JavaScript verison (CJS, using require)

Parse

const parser = require('css-font-face-src');

console.log(parser.parse('local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'));

will return:

[
    { local: 'The Font' },
    { url: 'font.otf', format: 'opentype' },
    { url: 'font.woff' },
    { local: 'Another Font' }
]

Serialize

const parser = require('css-font-face-src');

console.log(
    parser.serialize([
        { local: 'The Font' },
        { url: 'font.otf', format: 'opentype' },
        { url: 'font.woff' },
        { local: 'Another Font' }
    ])
);

will return:

'local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'

JavaScript version (ESM, using import)

Parse

import { parse } from 'css-font-face-src';

console.log(parse('local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'));

will return:

[
    { local: 'The Font' },
    { url: 'font.otf', format: 'opentype' },
    { url: 'font.woff' },
    { local: 'Another Font' }
]

Serialize

import { serialize } from 'css-font-face-src';

console.log(
    serialize([
        { local: 'The Font' },
        { url: 'font.otf', format: 'opentype' },
        { url: 'font.woff' },
        { local: 'Another Font' }
    ])
);

will return:

'local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'

TypeScript version

Parse

import { parse } from 'css-font-face-src';

console.log(parse('local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'));

will return:

[
    { local: 'The Font' },
    { url: 'font.otf', format: 'opentype' },
    { url: 'font.woff' },
    { local: 'Another Font' }
]

Serialize

import { serialize, FontFaceSrcItem } from 'css-font-face-src';

console.log(
    serialize([
        { local: 'The Font' },
        { url: 'font.otf', format: 'opentype' },
        { url: 'font.woff' },
        { local: 'Another Font' }
    ] as FontFaceSrcItem[])
);

will return:

'local("The Font"), url("font.otf") format("opentype"), url("font.woff"), local("Another Font")'

Build status

Build Status

Author

Christoph Burgmer. Licensed under BSD-2-Clause. Reach out on Twitter.

Package Sidebar

Install

npm i css-font-face-src

Weekly Downloads

8,288

Version

2.0.0

License

BSD-2-Clause

Unpacked Size

102 kB

Total Files

29

Last publish

Collaborators

  • cburgmer