{"id":13581239,"url":"https://github.com/aarol/variable-font-helper","last_synced_at":"2026-02-18T21:18:08.708Z","repository":{"id":68960194,"uuid":"541288566","full_name":"aarol/variable-font-helper","owner":"aarol","description":"Self host variable fonts from Google Fonts","archived":false,"fork":false,"pushed_at":"2025-01-25T15:02:12.000Z","size":670,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-25T16:17:57.782Z","etag":null,"topics":["self-host","variable-font","woff2"],"latest_commit_sha":null,"homepage":"https://variable-font-helper.web.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aarol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-25T19:37:10.000Z","updated_at":"2025-01-25T15:02:16.000Z","dependencies_parsed_at":"2025-01-26T20:45:41.386Z","dependency_job_id":null,"html_url":"https://github.com/aarol/variable-font-helper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarol%2Fvariable-font-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarol%2Fvariable-font-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarol%2Fvariable-font-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarol%2Fvariable-font-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aarol","download_url":"https://codeload.github.com/aarol/variable-font-helper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445661,"owners_count":20939953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["self-host","variable-font","woff2"],"created_at":"2024-08-01T15:01:59.470Z","updated_at":"2026-02-18T21:18:08.668Z","avatar_url":"https://github.com/aarol.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Variable fonts helper\n\n## Self host variable fonts from Google Fonts\n\n![Screenshot of the variable font helper web app](screenshot.png)\n\n### \u003chttps://variable-font-helper.web.app\u003e\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/aarol/variable-font-helper/test.yml?label=Tests)\n\n## Stack\n\n- React\n- [Mantine UI](https://mantine.dev)\n- Firebase Cloud Functions\n- Firebase Hosting\n\n## How it works\n\n1. Client will make a request to \u003chttps://us-central1-variable-font-helper.cloudfunctions.net/getMetadata\u003e which will execute a Firebase Cloud Function.\n2. The Cloud Function will make a request to \u003chttps://fonts.google.com/metadata/fonts\u003e, filter the output and cache the response for 1 day.\n3. When `Generate Output` is pressed, the client will send a request to the [Google Fonts CSS2 API](https://developers.google.com/fonts/docs/css2#api_url_specification) and extract the font url and stylesheet from each subset using a regexp.\n4. Clicking `Download All` will `fetch` all selected subsets and turn them into a zip archive using [jsZip](https://www.npmjs.com/package/jszip) in-browser.\n\n## Run locally\n\n1. Install firebase-tools\n  \n  `pnpm add -g firebase-tools`\n\n2. Run the client \u0026 functions locally\n\n`pnpm --recursive dev`\n\n### Deploy\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarol%2Fvariable-font-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faarol%2Fvariable-font-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarol%2Fvariable-font-helper/lists"}