Google Fonts wrapper for your NodeJS App
This library require Google API Key to run, so you must be GET your own API Key on this page. After that, rename .env.example file to .env and insert your API Key to this file.
First, install Fontsy using below code :
npm install fontsy
# Or
yarn add fontsy
Next, create your Fontsy instance :
(async () => {
const Fontsy = require('fontsy')
const fonts = await new Fontsy()
.sort('alpha') // default Popularity
.font({
'Playfair Display': ['300', '500 italic'],
'Quicksand': ['300', '600']
})
})()
And then, follow below instruction to show fetching data.
Use fonts.link() to get single css link to Google Fonts
https://fonts.googleapis.com/css?family=Playfair+Display:300,500i|Quicksand:300,600"
Use fonts.link(true) to get single css link to Google Fonts with HTML tag
<link href="https://fonts.googleapis.com/css?family=Playfair+Display:300,500i|Quicksand:300,600" rel="stylesheet">
Use fonts.css() to get css class from instance
.font-quicksand {
font-family: 'Quicksand', sans-serif;
}
.font-playfair-display {
font-family: 'Playfair Display', serif;
}
Use fonts.list() to get list of fetched fonts
[
{
"family": "Quicksand",
"category": "sans-serif",
"variants": [
"300",
"regular",
"500",
"700"
]
},
{
"family": "Playfair Display",
"category": "serif",
"variants": [
"regular",
"italic",
"700",
"700italic",
"900",
"900italic"
]
}
]
Just print variable fonts to show instance of Fontsy
{
"url": "https://www.googleapis.com/webfonts/v1/webfonts",
"key": "YOUR-API-KEY",
"sorted": "alpha",
"fonts": [
"Playfair Display",
"Quicksand"
],
"variant": [
"300,500i",
"300,600"
],
"result": [
{
"kind": "webfonts#webfont",
"family": "Quicksand",
"category": "sans-serif",
"variants": [
"300",
"regular",
"500",
"700"
],
"subsets": [
"vietnamese",
"latin-ext",
"latin"
],
"version": "v8",
"lastModified": "2018-10-08",
"files": {
"300": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_pgHYoSA.ttf",
"500": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_p2HcoSA.ttf",
"700": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_pkHEoSA.ttf",
"regular": "http://fonts.gstatic.com/s/quicksand/v8/6xKtdSZaM9iE8KbpRA_RLA.ttf"
}
},
{...}
]
}
For more info see example file
This project under MIT License