{"id":44758558,"url":"https://github.com/hossain-khan/trmnl-badges","last_synced_at":"2026-03-07T15:03:05.242Z","repository":{"id":338456667,"uuid":"1157903442","full_name":"hossain-khan/trmnl-badges","owner":"hossain-khan","description":"Simple service to generate GitHub badges for TRMNL Recipe/Plugin","archived":false,"fork":false,"pushed_at":"2026-03-06T22:30:42.000Z","size":2224,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-06T22:39:48.143Z","etag":null,"topics":["badge-generator","github-badge","trmnl","trmnl-plugin","trmnl-recipe"],"latest_commit_sha":null,"homepage":"https://hossain-khan.github.io/trmnl-badges/","language":"HTML","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/hossain-khan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-14T13:40:29.000Z","updated_at":"2026-03-06T22:30:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hossain-khan/trmnl-badges","commit_stats":null,"previous_names":["hossain-khan/trmnl-badges"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/hossain-khan/trmnl-badges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossain-khan%2Ftrmnl-badges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossain-khan%2Ftrmnl-badges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossain-khan%2Ftrmnl-badges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossain-khan%2Ftrmnl-badges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hossain-khan","download_url":"https://codeload.github.com/hossain-khan/trmnl-badges/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossain-khan%2Ftrmnl-badges/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30219285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T14:02:48.375Z","status":"ssl_error","status_checked_at":"2026-03-07T14:02:43.192Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["badge-generator","github-badge","trmnl","trmnl-plugin","trmnl-recipe"],"created_at":"2026-02-16T01:21:26.295Z","updated_at":"2026-03-07T15:03:05.233Z","avatar_url":"https://github.com/hossain-khan.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/hossain-khan/trmnl-badges/actions/workflows/ci.yml/badge.svg)](https://github.com/hossain-khan/trmnl-badges/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/github/hossain-khan/trmnl-badges/graph/badge.svg?token=TWWWM4OMY4)](https://codecov.io/github/hossain-khan/trmnl-badges) [![Health](https://img.shields.io/endpoint?url=https://trmnl-badges.gohk.xyz/health-badge)](https://trmnl-badges.gohk.xyz/health) [![Badges Served Counter](https://trmnl-badges.gohk.xyz/badge/counter)](https://hossain-khan.github.io/trmnl-badges/) [![](https://badgen.net/github/release/hossain-khan/trmnl-badges/stable)](https://github.com/hossain-khan/trmnl-badges/releases)\n\n# TRMNL Badges\n\nDynamic SVG badges displaying statistics for [TRMNL](https://trmnl.com/) [recipes](https://trmnl.com/recipes).\n\n  \u003cpicture align=\"right\"\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/trmnl/trmnl-badge-compatible-with-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/trmnl/trmnl-badge-compatible-with-light.svg\"\u003e\n    \u003cimg alt=\"Show it on TRMNL\" src=\"assets/trmnl/trmnl-badge-compatible-with-dark.svg\" height=\"40\"\u003e\n  \u003c/picture\u003e\n\n\u003cdetails\u003e\u003csummary\u003eFeatures\u003c/summary\u003e\n\n- ⚡️ Fast badge generation using Cloudflare Workers edge network\n- 🎨 Official TRMNL brand styling and colors\n- 📊 Display recipe statistics (installs, forks, connections)\n- 🎭 Author badges with combined stats across all recipes\n- 🔄 Real-time data from TRMNL API\n- 🎯 Simple integration with markdown and HTML\n- 📏 Compact number formatting support\n- ⏱️ Badges cached for 1 hour (errors cached for 60 seconds)\n- 🏷️ SVG badges generated with [badgen](https://github.com/badgen/badgen)\n\n\u003c/details\u003e\n\n\u003e [!NOTE]  \n\u003e 🎨 **Try the Interactive Badge Builder** 🛠️  \n\u003e Use our 👷 **[TRMNL Badge Builder](https://hossain-khan.github.io/trmnl-badges/)** 🧰 for an easy, visual way to create and customize badges with live previews.  \n\u003e 👤 **New!** Try the **[Author Badge Builder](https://hossain-khan.github.io/trmnl-badges/author-badge.html)** to generate combined badges for all your recipes.\n\n## Usage\n\nAdd badges to your TRMNL recipe documentation using Markdown or HTML.\n\n### Finding Your Recipe ID\n\nYour recipe ID can be found in the URL of your [recipe page](https://trmnl.com/recipes) on TRMNL:\n\n```\nhttps://trmnl.com/recipes/28496\n                          ^^^^^\n                        (Recipe ID)\n```\n\n### Badge Examples\n\n| Badge Type        | Code                                                                                                        | Preview                                                                                                   |\n| ----------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |\n| **Installs**      | `![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496)`                                    | ![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496)                                    |\n| **Forks**         | `![Forks](https://trmnl-badges.gohk.xyz/badge/forks?recipe=28496)`                                          | ![Forks](https://trmnl-badges.gohk.xyz/badge/forks?recipe=28496)                                          |\n| **Connections**   | `![Connections](https://trmnl-badges.gohk.xyz/badge/connections?recipe=28496)`                              | ![Connections](https://trmnl-badges.gohk.xyz/badge/connections?recipe=28496)                              |\n| **Pretty Format** | `![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=9917\u0026pretty)`                              | ![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=9917\u0026pretty)                              |\n| **Custom Label**  | `![Downloads](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026label=Download%20Count)`            | ![Downloads](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026label=Download%20Count)            |\n| **Linked Badge**  | `[![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496)](https://trmnl.com/recipes/28496)` | [![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496)](https://trmnl.com/recipes/28496) |\n| **Customizations**  | `![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026glyph=white\u0026color=959393\u0026labelColor=4EBC91)` | ![Installs](https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026glyph=white\u0026color=959393\u0026labelColor=4EBC91) |\n\n## Badge URL Query Parameters\n\n- **`recipe`** (required\\*) - TRMNL recipe ID (e.g., `28496`)\n- **`userId`** (required\\*) - TRMNL author/user ID for combined stats (e.g., `364`)\n- **`label`** (optional) - Custom label text (eg. `?label=Downloads` or `?label=Download%20Count`)\n- **`pretty`** (optional) - Format numbers in compact notation (e.g., `1.78K`)\n- **`glyph`** (optional) - TRMNL logo variant: `brand` (default), `black`, or `white`\n- **`color`** (optional) - Badge value background color as a hex code without `#` (default: `F8654B` — TRMNL orange, e.g., `\u0026color=959393`)\n- **`labelColor`** (optional) - Badge label background color as a hex code without `#` (default: `3D3D3E` — TRMNL dark gray, e.g., `\u0026labelColor=4EBC91`)\n- **`scale`** (optional) - Badge scale multiplier as a positive number (default: `1`, e.g., `\u0026scale=2` for 2x size)\n\n\\* Either `recipe` or `userId` is required. Use `recipe` for single recipe badges, `userId` for author badges.\n\n\u003e [!TIP]\n\u003e Use the **[TRMNL Badge Builder](https://hossain-khan.github.io/trmnl-badges/)** to generate badge markup, or the **[Author Badge Builder](https://hossain-khan.github.io/trmnl-badges/author-badge.html)** for author badges.\n\n### HTML Usage\n\n```html\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\" alt=\"Installs\" /\u003e\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/forks?recipe=28496\" alt=\"Forks\" /\u003e\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/connections?recipe=28496\" alt=\"Connections\" /\u003e\n```\n\n\u003cdetails\u003e\u003csummary\u003eExamples\u003c/summary\u003e\n\n### Installs Badge\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\n```\n\n### Forks Badge\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/forks?recipe=28496\n```\n\n### Connections Badge\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/connections?recipe=28496\n```\n\n### Badge with Pretty Formatting (e.g., 2.7K)\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026pretty\n```\n\n### Custom Label\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026label=Download%20Count\n```\n\n### Scaled Badge (2x size)\n\n```\nhttps://trmnl-badges.gohk.xyz/badge/installs?recipe=28496\u0026scale=2\n```\n\n\u003c/details\u003e\n\n## Author Badges\n\nAuthor badges display **combined statistics** across all recipes published by a TRMNL user. Use the `userId` parameter instead of `recipe`.\n\n### Finding Your User ID\n\nYour user ID can be found by using the [Badge Builder](https://hossain-khan.github.io/trmnl-badges/) — enter any of your recipe URLs and your user ID will be detected automatically.\n\n### Author Badge Examples\n\n| Badge Type          | Code                                                                                                            | Preview                                                                                                  |\n| ------------------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |\n| **Recipes**         | `![Recipes](https://trmnl-badges.gohk.xyz/badge/recipes?userId=364)`                                            | ![Recipes](https://trmnl-badges.gohk.xyz/badge/recipes?userId=364)                                       |\n| **Total Installs**  | `![Total Installs](https://trmnl-badges.gohk.xyz/badge/installs?userId=364)`                                    | ![Total Installs](https://trmnl-badges.gohk.xyz/badge/installs?userId=364)                                |\n| **Total Forks**     | `![Total Forks](https://trmnl-badges.gohk.xyz/badge/forks?userId=364)`                                          | ![Total Forks](https://trmnl-badges.gohk.xyz/badge/forks?userId=364)                                      |\n| **Total Connections** | `![Total Connections](https://trmnl-badges.gohk.xyz/badge/connections?userId=364)`                            | ![Total Connections](https://trmnl-badges.gohk.xyz/badge/connections?userId=364)                          |\n| **Pretty Format**   | `![Total Installs](https://trmnl-badges.gohk.xyz/badge/installs?userId=364\u0026pretty)`                            | ![Total Installs](https://trmnl-badges.gohk.xyz/badge/installs?userId=364\u0026pretty)                         |\n\n### Author Badge HTML Usage\n\n```html\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/recipes?userId=364\" alt=\"Recipes\" /\u003e\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/installs?userId=364\" alt=\"Total Installs\" /\u003e\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/forks?userId=364\" alt=\"Total Forks\" /\u003e\n\u003cimg src=\"https://trmnl-badges.gohk.xyz/badge/connections?userId=364\" alt=\"Total Connections\" /\u003e\n```\n\n\u003e [!TIP]\n\u003e Use the **[Author Badge Builder](https://hossain-khan.github.io/trmnl-badges/author-badge.html)** for a visual way to generate author badges with live previews and per-recipe breakdowns.\n\n## Contributing\n\nFor developers interested in contributing or running this project locally, see [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhossain-khan%2Ftrmnl-badges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhossain-khan%2Ftrmnl-badges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhossain-khan%2Ftrmnl-badges/lists"}