{"id":28601363,"url":"https://github.com/metaory/github-repo-cards","last_synced_at":"2025-07-28T20:11:08.683Z","repository":{"id":293328747,"uuid":"983643173","full_name":"metaory/github-repo-cards","owner":"metaory","description":"🚧 [WIP] Sleek, Modern, Static cards for your GitHub repositories","archived":false,"fork":false,"pushed_at":"2025-05-28T19:13:07.000Z","size":1226,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T15:15:07.762Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/metaory.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,"zenodo":null}},"created_at":"2025-05-14T17:33:00.000Z","updated_at":"2025-05-28T19:13:10.000Z","dependencies_parsed_at":"2025-05-19T16:52:09.570Z","dependency_job_id":null,"html_url":"https://github.com/metaory/github-repo-cards","commit_stats":null,"previous_names":["metaory/repo-card-generator","metaory/github-repo-cards"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/metaory/github-repo-cards","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fgithub-repo-cards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fgithub-repo-cards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fgithub-repo-cards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fgithub-repo-cards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metaory","download_url":"https://codeload.github.com/metaory/github-repo-cards/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaory%2Fgithub-repo-cards/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267578003,"owners_count":24110351,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-06-11T15:01:17.720Z","updated_at":"2025-07-28T20:11:08.677Z","avatar_url":"https://github.com/metaory.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch3\u003eGitHub Repo Cards\u003c/h3\u003e\n    \u003cimg src=\".github/assets/logo.svg\" alt=\"logo\" height=\"128\" /\u003e\n    \u003cp\u003e\n        \u003cb\u003eGenerate beautiful, static PNG cards for your GitHub repositories\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eModern, minimal, and fully offline\u003c/i\u003e\n    \u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n      \u003ca href=\"https://github.com/marketplace/actions/github-repo-cards\"\u003e\n        \u003cimg alt=\"Marketplace\" src=\"https://img.shields.io/badge/GitHub%20Actions-Marketplace-blue?logo=github-actions\u0026logoColor=white\"\u003e\n      \u003c/a\u003e\n      \u003ca href=\"https://github.com/metaory/github-repo-cards/releases\"\u003e\n        \u003cimg alt=\"Version\" src=\"https://img.shields.io/github/v/tag/metaory/github-repo-cards\"\u003e\n      \u003c/a\u003e\n    \u003c/p\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_default_dark.png\" width=\"30%\" /\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_default_light.png\" width=\"30%\" /\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_highlight_dark.png\" width=\"30%\" /\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_highlight_light.png\" width=\"30%\" /\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_pixel_dark.png\" width=\"30%\" /\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_pixel_light.png\" width=\"30%\" /\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_rubik_dark.png\" width=\"30%\" /\u003e\n    \u0026nbsp;\n    \u003cimg src=\"https://raw.githubusercontent.com/metaory/github-repo-cards/refs/heads/demo/cards/card_rubik_light.png\" width=\"30%\" /\u003e\n\u003c/div\u003e\n\n---\n\n## Features\n\n- **Static PNG \u0026 SVG output** — no runtime, no servers, zero dependencies\n- **Dark \u0026 Light themes** — auto-generated for every card\n- **Dynamic layout** — adapts to repo name, description, and stats\n- **Fast, local rendering** — powered by Inkscape\n- **Perfect for dashboards, READMEs, social previews**\n\n---\n\n## Overview\n\n**repo-cards** is a GitHub Action and CLI that generates sleek, static PNG cards for your repositories. Each card is rendered from a theme SVG, with all design and font choices locked in the theme. For every repository, two cards are generated: one light, one dark.\n\n\n- No runtime, no embeds, no servers\n- No configuration—just pick a theme\n- Output: two SVGs (default, text as paths) or PNGs per repo (light \u0026 dark)\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAuthoring Custom Themes\u003c/strong\u003e\u003c/summary\u003e\n\nYou can use any of the built-in themes by name, or provide your own SVG theme template by path via the `theme` input.\n\n**How it works:**\n- If `theme` is a name, it uses one of the built-in themes (see available names).\n- If `theme` is a path, it uses your custom SVG file from your repository.\n\n**Reference template:** [themes/default.svg](themes/default.svg)\n\n**Template variables available:**\n  - `${name_tspans}`: repo name (multi-line, tspan)\n  - `${desc_tspans}`: repo description (multi-line, tspan)\n  - `${lang}`: primary language\n  - `${star}`: star count\n  - `${fork}`: fork count\n  - `${avatar}`: base64 SVG avatar\n  - `${lang_width}`: width for language pill\n  - `${lang_x}`: x for language text\n  - `${stat_x}`: x for stats group\n\n**Font loader magic:**\nAdd font URLs as comments at the top of your SVG:\n`\u003c!-- FONT::https://.../font.ttf --\u003e`\nThese will be auto-downloaded and registered for rendering.\n\n**SVG class placeholder:**\nThe top-level `\u003csvg\u003e` must have `class=\"__THEME__\"`. This will be replaced with `light` or `dark` during generation.\n\nKeep your SVG self-contained. All CSS variables will be inlined and the `:root` block removed automatically.\n\u003c/details\u003e\n\n---\n\n## Quick Start\n\n\u003e [!NOTE]\n\u003e You must provide a GitHub token with repository read access via the `GITHUB_TOKEN` environment variable.\n\n### Minimal Usage\n\n```yaml\nname: Generate Repository Cards\non:\n  workflow_dispatch:\n  schedule:\n    - cron: '0 0 * * 1'\npermissions:\n  contents: write\njobs:\n  generate-cards:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: metaory/github-repo-cards@v1\n        with:\n          repositories: |\n            repo-cards\n            dotfiles\n          theme: default   # Theme name (default|highlight|pixel|rubik) or Path to theme file\n          output: cards    # Output directory (default: cards)\n          format: svg      # svg (default, text as paths) or png\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n\u003e [!TIP]\n\u003e For each listed repository, two SVG cards (default, text as paths) or PNG cards are generated: one for light mode and one for dark mode.\n\n\u003e [!TIP]\n\u003e **Supported formats:**\n\u003e - svg (default, text as paths)\n\u003e - png\n\n\u003e [!NOTE]\n\u003e If the theme is not provided or not found, it falls back to the default built-in theme.\n\n\u003cdetails\u003e\n\u003csummary\u003eAdvanced Usage\u003c/summary\u003e\n\n```yaml\nname: Generate Repository Cards\non:\n  workflow_dispatch:\n  schedule:\n    - cron: '0 0 * * 1'\npermissions:\n  contents: write\njobs:\n  generate-cards:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: metaory/github-repo-cards@v1\n        with:\n          repositories: |\n            repo-cards\n            dotfiles\n            my-awesome-project\n          theme: default\n          output: assets/cards\n          format: png # svg (default, text as paths) or png\n          avatar: |\n            style=glass\n            radius=28\n            backgroundType=gradientLinear\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n\u003c/details\u003e\n\n---\n\n## Avatar Customization\n\n\u003e [!IMPORTANT]\n\u003e The `style` key is required for avatar customization. See the [DiceBear styles documentation](https://www.dicebear.com/styles/) for available options.\n\nYou can customize the avatar using [DiceBear](https://www.dicebear.com/styles/) options. Provide newline-separated key-value pairs via the `avatar` input. The `style` key is required.\n\nExample:\n\n```yaml\navatar: |\n  style=glass\n  radius=28\n  backgroundType=gradientLinear\n```\n\n---\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaory%2Fgithub-repo-cards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetaory%2Fgithub-repo-cards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaory%2Fgithub-repo-cards/lists"}