{"id":47793815,"url":"https://github.com/caldis/bobcorn","last_synced_at":"2026-04-03T16:01:27.986Z","repository":{"id":82077358,"uuid":"95870964","full_name":"Caldis/bobcorn","owner":"Caldis","description":"一个从SVG图标到字体生成的解决方案","archived":false,"fork":false,"pushed_at":"2026-03-27T16:51:31.000Z","size":13739,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-28T01:27:49.848Z","etag":null,"topics":["color-editor","design-tool","desktop-app","electron","eot","font-generator","icon-font","icon-management","iconfont","react","svg","svg-icons","tailwindcss","ttf","typescript","webfont","woff","woff2"],"latest_commit_sha":null,"homepage":"https://bobcorn.caldis.me","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/Caldis.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,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2017-06-30T09:10:48.000Z","updated_at":"2026-03-27T16:51:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"067bd709-fc84-45c0-a698-979ff582e7c4","html_url":"https://github.com/Caldis/bobcorn","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/Caldis/bobcorn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caldis%2Fbobcorn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caldis%2Fbobcorn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caldis%2Fbobcorn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caldis%2Fbobcorn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Caldis","download_url":"https://codeload.github.com/Caldis/bobcorn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caldis%2Fbobcorn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31362680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["color-editor","design-tool","desktop-app","electron","eot","font-generator","icon-font","icon-management","iconfont","react","svg","svg-icons","tailwindcss","ttf","typescript","webfont","woff","woff2"],"created_at":"2026-04-03T16:00:51.022Z","updated_at":"2026-04-03T16:01:27.968Z","avatar_url":"https://github.com/Caldis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/renderer/resources/imgs/icon.png\" alt=\"Bobcorn icon\" width=\"96\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eBobcorn\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eOpen-source icon manager and icon font generator for Windows \u0026 macOS.\u003c/strong\u003e\u003cbr\u003e\n  Import SVGs, organize icon libraries, edit colors, and generate production-ready icon fonts (SVG, TTF, WOFF, WOFF2, EOT) — all in one app.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Caldis/bobcorn/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Caldis/bobcorn?label=version\u0026color=F06830\" alt=\"Latest release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Caldis/bobcorn/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/Caldis/bobcorn/total?color=82817A\" alt=\"Total downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/Caldis/bobcorn?color=82817A\" alt=\"MIT License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Caldis/bobcorn/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/Caldis/bobcorn/ci.yml?label=CI\" alt=\"CI status\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://bobcorn.caldis.me\"\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e\u003c/a\u003e · \u003ca href=\"https://github.com/Caldis/bobcorn/releases/latest\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e · \u003ca href=\"https://github.com/Caldis/bobcorn/releases\"\u003e\u003cstrong\u003eChangelog\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/screenshot/main.png\" alt=\"Bobcorn — browse and manage thousands of SVG icons\" width=\"720\"\u003e\n\u003c/p\u003e\n\n---\n\n## What is Bobcorn?\n\nBobcorn is a free, open-source desktop application for **icon management** and **icon font generation**. It helps designers and front-end developers organize large SVG icon libraries and generate production-ready icon fonts in every major format.\n\n**Who uses it:** Individual designers, front-end developers, and enterprise teams (including ZTE and Shopee) who need to build and maintain custom icon font systems.\n\n**How it compares:** Unlike browser-based tools like IcoMoon, Bobcorn is a native desktop app that handles large libraries (3,000+ icons) with fast local processing. Unlike macOS-only tools like IconJar, Bobcorn runs on Windows and macOS, and generates icon fonts — not just icon organization.\n\n## Features\n\n### Icon Management\n- **SVG import** — Drag-and-drop or file dialog, batch import from folders\n- **Group organization** — Create, reorder, copy, and move icon groups\n- **Search \u0026 filter** — Instantly find icons across your entire library\n- **Inline color editor** — Hex picker, eyedropper, or any CSS color format with live preview\n- **Scales to thousands** — Handles 3,000+ icons smoothly\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/screenshot/select.png\" alt=\"Batch select icons with multi-select mode and bulk operations\" width=\"720\"\u003e\n\u003c/p\u003e\n\n### Icon Font Generation\n- **One-click export** — Generate all font formats at once with real-time progress\n- **Output formats** — SVG, TTF, WOFF, WOFF2, EOT font files\n- **Web assets** — CSS (class \u0026 symbol), JS, and HTML demo page\n- **Project files** — Save/reload `.icp` projects; exports include the project file automatically\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/screenshot/export.png\" alt=\"Export icon font dialog — choose formats and output path\" width=\"720\"\u003e\n\u003c/p\u003e\n\n### General\n- **Cross-platform** — Windows, macOS (Intel \u0026 Apple Silicon)\n- **Dark mode** — One-click toggle, persisted across sessions\n- **Open source** — MIT licensed, free forever\n\n## Download\n\n| Platform | Format | Link |\n|----------|--------|------|\n| Windows | `.exe` installer | [Download](https://github.com/Caldis/bobcorn/releases/latest) |\n| macOS (Apple Silicon) | `.dmg` arm64 | [Download](https://github.com/Caldis/bobcorn/releases/latest) |\n| macOS (Intel) | `.dmg` x64 | [Download](https://github.com/Caldis/bobcorn/releases/latest) |\n\n## Export Formats\n\n| Format | Type | Description |\n|--------|------|-------------|\n| `.svg` | Font | SVG font file |\n| `.ttf` | Font | TrueType font |\n| `.woff` | Font | Web Open Font Format |\n| `.woff2` | Font | WOFF2 (compressed, recommended for web) |\n| `.eot` | Font | Embedded OpenType (IE compatibility) |\n| `.css` | Web | Stylesheet with class names and unicode mappings |\n| `.js` | Web | JavaScript icon definitions |\n| `.html` | Web | Demo page with all icons and usage examples |\n| `.icp` | Project | Bobcorn project file (save/restore full state) |\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Runtime | Electron 28 |\n| UI | React 18 + Radix UI + Tailwind CSS + lucide-react |\n| State | Zustand |\n| Build | electron-vite (Vite-based) |\n| Database | sql.js (SQLite compiled to WASM) |\n| Types | TypeScript 5 |\n| Test | Vitest (unit) + Playwright (E2E) |\n| Packaging | electron-builder |\n\n## Development\n\n### Prerequisites\n\n- Node.js 18+ (recommend [fnm](https://github.com/Schniz/fnm))\n- npm 8+\n\n### Quick Start\n\n```bash\n# Install dependencies\nnpm install --legacy-peer-deps\n\n# Start dev server with HMR\nnpx electron-vite dev\n```\n\n### Build \u0026 Test\n\n```bash\n# Production build\nnpx electron-vite build\n\n# Run tests\nnpx vitest run                  # Unit tests\nnode test/e2e/acceptance.js     # E2E acceptance (21 checks)\nnode test/e2e/full-e2e.js       # Full E2E flow (15 steps)\n```\n\n### Package\n\n```bash\nnpm run package        # Current platform\nnpm run package-win    # Windows\nnpm run package-all    # All platforms\n```\n\n## Contributing Translations\n\nBobcorn supports internationalization (i18n). To add a new language:\n\n1. Copy `src/locales/zh-CN.json` to `src/locales/\u003clanguage-code\u003e.json`\n2. Translate all values (do not change the keys)\n3. Register the language in `src/locales/index.ts`:\n   - Import the new JSON file\n   - Add it to the `resources` object\n   - Add an entry to `supportedLanguages`\n4. Submit a pull request\n\nMissing translations will fall back to Chinese (zh-CN).\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldis%2Fbobcorn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaldis%2Fbobcorn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaldis%2Fbobcorn/lists"}