Skip to content

aarol/variable-font-helper

Repository files navigation

Variable fonts helper

Self host variable fonts from Google Fonts

Screenshot of the variable font helper web app

GitHub Workflow Status

Stack:

  • React
  • Mantine UI
  • Firebase Cloud Functions
  • Firebase Hosting

How it works

  1. Client will make a request to https://us-central1-variable-font-helper.cloudfunctions.net/getMetadata which will execute a Firebase Cloud Function.
  2. The Cloud Function will make a request to https://fonts.google.com/metadata/fonts, filter the output and cache the response for 1 day.
  3. When Generate Output is pressed, the client will send a request to the Google Fonts CSS2 API and extract the font url and stylesheet from each subset using a regexp.
  4. Clicking Download All will fetch all selected subsets and turn them into a zip archive using jsZip in-browser.

Run locally

  1. Install firebase-tools

pnpm add -g firebase-tools

  1. Run the client & functions locally

pnpm --recursive dev