Allow using fonts linked in your CSS offline by enconding them in base64 into the CSS itself. I use this for offline-first Electron apps, but you can use it for whatever you want.
npm install css-font-local-cache
const { promises: fs } = require('fs');
const cssFontCache = require('css-font-local-cache');
(async () => {
const input = await fs.readFile('./css-with-links.css', 'utf8');
const output = await cssFontCache(input);
await fs.writeFile('./css-with-base64-fonts.css', output);
})();
Encode CSS you already have on disk:
npx css-font-local-cache < css-with-links.css > css-with-base64-fonts.css
Encode CSS from a remote location:
npx css-font-local-cache http://example.com/my-css > css-with-base64-fontd.css