{"id":50889311,"url":"https://github.com/skwid138/opencode-logo-builder","last_synced_at":"2026-06-15T20:02:21.264Z","repository":{"id":360096107,"uuid":"1248565476","full_name":"skwid138/opencode-logo-builder","owner":"skwid138","description":"Visual logo builder for opencode TUI — design multi-row ASCII art logos with 294 figlet fonts and live preview","archived":false,"fork":false,"pushed_at":"2026-05-25T02:06:04.000Z","size":59,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T02:23:46.603Z","etag":null,"topics":["ascii-art","cli","developer-tools","figlet","github-pages","logo-generator","opencode","terminal","tui","vanilla-js"],"latest_commit_sha":null,"homepage":"https://skwid138.github.io/opencode-logo-builder/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skwid138.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-05-24T20:07:38.000Z","updated_at":"2026-05-25T02:11:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/skwid138/opencode-logo-builder","commit_stats":null,"previous_names":["skwid138/opencode-logo-builder"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/skwid138/opencode-logo-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fopencode-logo-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fopencode-logo-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fopencode-logo-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fopencode-logo-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skwid138","download_url":"https://codeload.github.com/skwid138/opencode-logo-builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skwid138%2Fopencode-logo-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34377983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"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":["ascii-art","cli","developer-tools","figlet","github-pages","logo-generator","opencode","terminal","tui","vanilla-js"],"created_at":"2026-06-15T20:02:19.013Z","updated_at":"2026-06-15T20:02:21.258Z","avatar_url":"https://github.com/skwid138.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenCode Logo Builder\n\n[![CI](https://github.com/skwid138/opencode-logo-builder/actions/workflows/test.yml/badge.svg)](https://github.com/skwid138/opencode-logo-builder/actions/workflows/test.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA static, no-build web app for designing colored FIGlet ASCII logos for the [`@skwid138/opencode-tui`](https://github.com/skwid138/opencode-tui) OpenCode plugin.\n\nThe builder lets you edit rows, choose a FIGlet font per row, split row text into colored inline blocks, preview the final terminal output, and export the plugin-compatible `logo` object:\n\n```json\n{\n  \"rows\": [\n    {\n      \"segments\": [\n        { \"text\": \"...\", \"color\": \"#5DBDB3\" }\n      ]\n    }\n  ]\n}\n```\n\n## Features\n\n- **FIGlet font picker** with searchable category tags\n- **Per-segment color** — assign hex colors to individual text blocks\n- **Live terminal preview** — see your logo as it will appear in OpenCode\n- **Export plugin-compatible config** — copy the `logo` JSON object directly into your opencode config\n- **No build step** — open `index.html` and start designing\n\nFont names, editor metadata, and preview background settings are not exported.\n\n## Local usage\n\nOpen `index.html` directly in a browser. There is no framework, bundler, package manager, or build step.\n\nThe app uses a vendored copy of `figlet.js` v1.8.0 at `vendor/figlet.js` with a small ownership side-channel patch documented in [`PATCH.md`](PATCH.md). All 294 raw `.flf` fonts from figlet v1.8.0 are vendored under `vendor/fonts/`, and `font-manifest.js` lists those filenames for the searchable font picker. Runtime font loading fetches `vendor/fonts/\u003cFontName\u003e.flf`, parses it with `figlet.parseFont()`, and falls back to `https://unpkg.com/figlet@1.8.0/fonts/\u003cFontName\u003e.flf` if the local fetch fails.\n\nWhen opened via `file://`, browsers usually reject relative `fetch()` requests to `vendor/fonts/`; the CDN fallback keeps font loading working as long as the browser can reach `unpkg.com`. Offline `file://` use may only render fonts already cached by the browser. `vendor/Standard.js` is committed for Node tests only; the browser uses the `.flf` files.\n\nTo verify that `font-manifest.js` matches the vendored fonts, run:\n\n```sh\nnode scripts/verify-font-manifest.js\n```\n\n## Deployment\n\nThis repository is intended for GitHub Pages deployment from the `main` branch root. The expected public URL is:\n\n```text\nhttps://skwid138.github.io/opencode-logo-builder/\n```\n\nDeploy after the companion `opencode-tui` plugin change supporting inline segment colors has merged; exported configs use that newer schema.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskwid138%2Fopencode-logo-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskwid138%2Fopencode-logo-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskwid138%2Fopencode-logo-builder/lists"}