{"repo":"HeyHuazi/SVGLOGO","free":true,"listed":false,"github":"https://github.com/HeyHuazi/SVGLOGO","clone":"git clone https://github.com/HeyHuazi/SVGLOGO.git","description":"免费在线下载矢量LOGO素材，专注收录国内矢量LOGO","language":"Svelte","stars":141,"topics":["icons","svg","svg-icons"],"license":"MIT","category":"ui-components","readme_excerpt":"SVGLOGO 专注收录国内矢量 Logo 的开源站点 v4.2.1 在线访问 · 提交图标 · 作者主页 · 赞助支持 --- 项目简介 SVGLOGO 面向中文用户收录常用品牌与组织标识，支持关键词与拼音搜索、分类浏览、SVG/PNG 复制和下载。项目同时提供仅开发环境可用的本地资产工作台，将多文件 SVG 草稿原子写入资产库并维护发布批次。 功能特点 - 关键词、拼音搜索与分类筛选 - 浅色 / 深色版本与 Wordmark 支持 - 一键复制或下载 SVG / PNG - 首屏优先加载与渐进式无限滚动 - 多文件 SVG 草稿、原子批量入库和可恢复发布批次 - Cloudflare Pages 部署 技术栈 SvelteKit 2 + Svelte 4 + TypeScript + Tailwind CSS + Vitest + YAML + Cloudflare adapter。 --- 本地开发 环境要求 - Node.js 20+ - pnpm 10 默认访问： 开发环境中的资产管理后台： 后台直接维护当前 Git 工作区，不需要远程投稿服务或额外私有凭据。 构建与 Cloudflare 本地预览： --- 资产流水线 单一真相源 SVG 文件与分类 YAML 是资产事实；以下文件是可再生派生物，不应手动编辑： 数据流如下： 日常新增或更新 Logo 日常维护统一使用 /admin ： 1. 将一个或多个 SVG 拖入后台草稿区。 2. 确认每项标题、文件名、分类、官网、贡献者和新增/更新类型。 3. 后台先对整批草稿执行文件名、冲突、URL 和 SVG 安全校验。 4. 全批通过后，在同一事务中写入 SVG、YAML、发布草稿，并只生成一次前端索引。 5. 任一步失败，整批资产、元数据、草稿和生成索引都会恢复。 后台只在 SvelteKit dev 模式和 localhost 开放；生产环境不能调用本地写入能力。 Wordmark、dark/light 与批量迁移 当前后台日常上传处理单个主 Logo。Wordmark、dark/light 双版本及大批量目录迁移仍通过 YAML 资产模型维护： 完成维护后运行： 维护与灾难恢复 check:library 只读检查磁盘 SVG 与 YAML 是否一致： 如果批量复制或历史迁移产生了未登记 SVG，可在人工确认后显式修复： 修复器会根据文件名和 scripts/title-mappings.json 补充条目，并可能生成 url: TODO 。它不是日常入库入口；运行后必须人工检查 YAML，再执行 pnpm generate:svg 。 --- 常用命令 命令 职责 --- --- pnpm dev 启动开发环境；启动前生成前端资产索引 pnpm generate:svg 将 SVG/YAML 真相源原子编译为前端 TypeScript 索引 pnpm check:library 只读检查 SVG 文件与 YAML 元数据一致性 pnpm repair:library-meta 批量迁移或异常恢复时显式补录 YAML pnpm check:generated 只读验证前端索引没有生成漂移 pnpm check:size 检查 SVG 是否超过 200KB pnpm prebuild 组合所有资产只读门禁 pnpm check 执行 Svelte/TypeScript 检查 pnpm test 运行 Vitest 测试 pnpm build 通过资产门禁后构建 Cloudflare","default_branch":null,"files":null,"tree":[],"storefront":"/r/HeyHuazi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HeyHuazi/SVGLOGO/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}