HyperFrames Registry 组件 demo.html 规范:从预览渲染到可引用使用示例的完整实践
2026/9/11 18:09:52 网站建设 项目流程

HyperFrames Registry 组件 demo.html 规范:从预览渲染到可引用使用示例的完整实践

【免费下载链接】hyperframesWrite HTML. Render video. Built for agents.项目地址: https://gitcode.com/GitHub_Trending/hy/hyperframes

本指南基于 HyperFrames 仓库中 demo-html-pattern.md 展开,系统讲解 registry 组件为何必须随附demo.html、demo 文件的骨架结构与命名约定、它与组件 snippet 的职责划分,以及 CI 预览管线如何消费 demo 生成目录缩略图与预览视频。读完本文,你将掌握为组件编写合规 demo 的完整模板、真实仓库中的参考实现,以及 demo 与 snippet 之间"预览用 demo、安装用 snippet"的分工边界。

为什么组件要随附 demo.html

在 HyperFrames 的 registry 体系中,每个组件(component)除了交付核心的 effect snippet 之外,还必须随附一个同名的demo.html文件。这个约定同时服务两个目的:

  1. 预览夹具(Preview fixture)——CI 预览管线会渲染 demo 文件,为目录文档页(catalog docs page)生成缩略图与预览视频。没有 demo,组件在目录里就没有可视化预览。
  2. 使用示例(Usage example)——demo 将组件效果应用在具有代表性的内容上,展示"这个效果应该怎么用",是作者与使用者都能对照的活的参考实现。

这一点在源码中也有印证:scripts/generate-catalog-previews.ts 的注释明确区分了两类条目的渲染入口:"Blocks: renders the block's standalone HTML via a wrapper index.html"与"Components: renders the component's demo.html via a wrapper index.html"——即块渲染自身 HTML,组件则渲染 demo.html,两者都会套一层 wrapper 用于预览捕获。

demo 的骨架结构

一份 demo 是完整、独立的 HTML 合成(composition),典型结构如下:

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=1920, height=1080" /> <title>Component Name — Demo</title> <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script> <style> /* reset + canvas size */ </style> </head> <body> <div>data-composition-id<component-name>-demo,且与window.__timelines的注册键完全一致
  • 声明data-width="1920"data-height="1080"data-duration(5–8 秒),viewport meta 与画布一致
  • GSAP 以gsap.timeline({ paused: true })创建,动画确定性可复现(无Math.random()、无Date.now(),与 contributing.md 的块级要求一致)
  • snippet 的 CSS/JS 全部内联,demo 可独立在浏览器打开并播放
  • 若 snippet 声明了data-composition-variables,demo 不重复声明变量,且保留组件自身的 class 以便变量脚本寻址
  • 演示内容具有代表性(真实文案、真实数据形态),并遵守 placeholder-material.md 的占位内容规范
  • 通过hyperframes linthyperframes check --no-contrast校验(详见 contributing.md 的 Validate 步骤)
  • 延伸阅读

    • 组件贡献完整流程与质量门禁
    • 块与组件的模板与 registry-item.json 模板
    • 组件质量要求
    • Registry 技能总览与安装/接线说明
    • 预览管线实现:scripts/generate-catalog-previews.ts
    • 变量组件与 demo 的叠加机制:scripts/catalog/component-variables.ts

    【免费下载链接】hyperframesWrite HTML. Render video. Built for agents.项目地址: https://gitcode.com/GitHub_Trending/hy/hyperframes

    创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

    需要专业的网站建设服务?

    联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

    立即咨询