作者:互联网 时间: 2026-10-05 10:10:01
真正理解Vitrine,要从它处理的任务开始:UI 组件库,适合那些想要与众不同的人。实际做界面与前端开发时,经常会碰到视觉还原、交互状态和响应式细节容易遗漏,所以功能列表并不能代替验证。试跑可以从选一个包含多状态的真实组件完成实现开始,并把尺寸、状态、可访问性、资源和不同视口表现写进验收记录。编辑判断上,愿意逐状态验收界面质量的前端团队可以优先研究它;其他团队不必为了热门标签勉强接入。

什么是玻璃窗?
玻璃橱是一个玻璃展示柜:您只能观看,不能触摸。 Vitrine 是一个允许你拿走物品的展示区。
它是一个精心策划的 React 组件画廊,其中每件作品都有一个清晰的想法,取自现实世界(破碎的玻璃、凸版印刷、翻盖板、湿墨水、乙烯基套、登机牌)并保持有用。每个组件均附带:
没有软件包,没有 CLI,也没有注册表安装。您将一两个文件复制到您的项目中,它就是您的了。
为什么选择玻璃柜
| 品尝数不胜数 | 组件有自己的观点。按钮不仅具有悬停状态,它还会从一个撞击点破碎,或者像倒出的玻璃杯一样充满。 |
| 提示作为工件 | 每个组件都带有构建它的书面概要,以及每个变体的提示。将其粘贴到 LLM 中以使该部分适应您的产品。 |
| 零锁定 | 纯 React + TypeScript,Tailwind 仅在有帮助的地方,纯 CSS 用于真正的关键帧。 没有动画库。 没有什么可以更新的。 |
| 可按规则访问 | 键盘访问、可见焦点、prefers-reduced-motion 以及任何依赖悬停的触摸回退都是必需的,而不是额外的。 |
| 表现良好的视觉效果 | WebGL 和画布片段在屏幕外和隐藏选项卡中暂停,限制设备像素比,然后优雅地回落。 |
| 不仅仅是零件 | 全页食谱和现成的 AI 技能展示了如何将这些片段组合成一个看起来不像模板的网站。 |
里面有什么
27 个类别 301 个组件。
| 类别 | 类别 | 类别 | |||
|---|---|---|---|---|---|
| 按钮 | 45 | 背景 | 39 | 卡片 | 30 |
| 控制 | 19 | AI & 聊天 | 17 | 统计数据 | 15 |
| 认证 | 15 | 光标 | 13 | 分析 | 12 |
| 类型和名称 | 10 | CTAs | 10 | 文字动画 | 8 |
| 微动画 | 8 | FAQ | 8 | 表格 | 7 |
| 定价 | 6 | 导航 | 6 | 媒体 | 5 |
| 反馈意见 | 5 | 数据 | 5 | 英雄 | 4 |
| 叠加层 | 3 | 地图和地球仪 | 3 | 页脚 | 3 |
| 侧边栏 | 2 | 部分 | 2 | 导航栏 | 1 |
可以从以下几个方面入手:
在本地运行画廊
要求:Node 22.6+(推荐 24)和 Python 3(由注册表生成器使用)。
git clone https://github.com/ham7a311/vitrine.git
cd vitrine
npm install
npm run dev # http://localhost:3000
其他脚本:
npm run build # production build of every page
npm run typecheck # tsc --noEmit
npm run registry # regenerate the registry index + run the prompt guard
在图库中按 ⌘K(或 Ctrl K)按名称、标签或感觉进行搜索,例如“玻璃”、“悬停”或“身份验证”。
它是如何运作的
.css 保留在组件旁边。代码选项卡在构建时从磁盘读取真实文件,因此您复制的内容正是预览中运行的内容。
字体。 组件以 CSS 命名其字体(Geist、Instrument Serif、Anton、Archivo、IBM Plex...)。该网站从
src/app/layout.tsx中的 Google Fonts 加载它们。将您使用的添加到您自己的项目中。
工作坊
Vitrine 还展示了如何使用该系列进行构建。
食谱是仅由 Vitrine 组件制作的完整页面,每个页面都有创意方向、逐节组件计划和可复制的构建简介:
产品组合 · Glass 产品组合 · 展示柜 · 工作室 · 发布会 · 控制台 · AI 工作区 · AI 公司
技能 是 19 个可重用的 AI 工作流程,编写为 SKILL.md 文件,可在 Claude Code、Claude.ai 项目、游标规则和 ChatGPT 项目中工作:
| 舞台 | 技能 |
|---|---|
| 设计 | 艺术总监·设计评论家·模板讲述·界面文案·动作评论家·主题系统·文案质量·登陆页面艺术总监·作品集艺术总监·内容结构审核员 |
| 构建 | 组件作者·组件架构师 |
| 检查 | 响应审计员·可访问性审计员·绩效审计员 |
| 成长 | SEO 审核员·技术 SEO 审核·搜索优化·转化 UX 审核 |
技能文件位于 src/workshop/skills/<name>/SKILL.md 中。
组件规则
该集合中的每个组件都遵循相同的契约:
prefers-reduced-motion 以及悬停相关行为的触摸回退。提示保护 (scripts/check-prompts.mts) 强制变量提示仅描述选定的选项,因此组件的简介永远不会偏离其显示的内容。
项目结构
src/
app/ Next.js App Router: home, /components, /components/[slug], /categories, /about, /workshop
site/ the gallery shell (navbar, search palette, preview stage, code viewer), not meant to be copied
lib/ search scorer, build-time source loader (shiki)
workshop/ recipes, skills (SKILL.md) and live recipe previews
registry/
<category>/<slug>/
<Name>.tsx the component
<name>.css keyframes / complex selectors, when needed
demo.tsx what the gallery renders (also shown as usage.tsx)
meta.ts name, category, tags, prompt, interaction, a11y, variants…
order.txt curated gallery order
gen.py `npm run registry` regenerates index.ts + demos.tsx from order.txt
scripts/ prompt guard
添加组件
src/registry/<category>/<slug>/、可选的 .css、demo.tsx(默认导出,接收 { variant })和 meta.ts。<category>/<slug> 添加到 src/registry/order.txt。npm run registry。请阅读 CONTRIBUTING.md 获取完整清单。
科技
Next.js 15 (App Router) · React 19 · TypeScript · Tailwind CSS 4 · shiki 用于构建时语法突出显示。 Playwright 仅用于开发工具。
FAQ
是否有 npm 包或 CLI? 不,是故意的。复制您想要的文件。您拥有该代码,无需升级。
我可以在商业项目中使用这些吗? 是的。 Vitrine 已获得 MIT 许可。
我必须归功于 Vitrine 吗? 不,但链接总是值得赞赏的。
组件是否需要 Tailwind 或 Framer Motion?
任何地方都没有使用动画库。画廊外壳使用Tailwind;组件仅在有用的地方使用它,其余的则使用简单的 CSS 。每个组件的 meta.ts 列出了其依赖项。
我可以将组件的提示粘贴到 AI 工具中吗? 这就是它的用途。每个提示都足够精确地描述几何形状、时间、状态和后备,以重建或调整该作品。