@dani-builder/site-templates

中文文档
0.8.0发布于 2026/11/05MITTypeScriptES Module近 30 天下载 3134

可再用 Daniworks Builder 站点模板 出货单、调色板和可移植种子合同.

中文使用文档

@dani-buildinger/ site-templates (中文(简体) )

便携式脚手架的初始 CMS 内容 business-basic 模板和 open-atelier 主题, 最初基于 Figma v3. forest-stay, (中文(简体) ), logistics,以及 ceramics 选择组成; pine, (中文(简体) ), ocean,以及 clay 独立选择颜色。 用户品牌颜色覆盖调色板颜色, 覆盖主题默认值。 选择调色板绝不改变种子数据.

被打包的种子数据在脚手架上提供了初始的CMS内容. 外部 显示其副本、照片、FAQ、导航、页脚、块布置,以及 图片内容符合. 他们可以写一个 TemplateSeed,用 collectSeedValidationErrors(manifest, compositionId, seed),并传递作为 选项 seed 改为 createTemplatePreview。预览根据支持的构建者合同验证所提供的种子 并严格对其他成分进行表征验证. 选择 seed (或通过) undefined)使用被包装的成分种子. 建造者拥有共享渲染和种子合同; 制造者, 块、 符号和图案缺陷返回到 Builder。 见 ADR 0008 (韩语) 编辑 撰写实例。 。 。 .

合同上一个实例最后 v3 捆绑
模板版本0.1.0 (中文(简体) )6.2.4 国家
路线/区块9个/27个通用区块9/41个源区块(13/14/14)
相片/装订4个占位符路径15个包装的 JPEG 场景 / 23个装订
FAQ 文档2个共享字符串答案9个工业FAQs,有订购的块串和排序命令
贝壳普通开口solgyeol / haeon / heukbit 酸盐

Npm包版本与模板版本分开发布管理. 对表单、可移植种子或包装资产字节的任何更改均要求 新模板版本和新条目 test/template-fingerprints.json保留 以前的指纹条目保持不变. test/template-version.test.ts 执行 此版本和指纹规则 。 添加种子属性时, 重新检查 builderVersion 与引入这些属性的释放相对应. 构建器兼容性是 >=0.16.0 <3 因为有种子的家庭使用 Page.directAccess,在Builder 0.16.0中被引入. requiredComponents 财务报告和审定财务报表 requiredVariants 来源于最终种子,而不是完整的Figma块画廊.

客户依赖使用 workspace:^,作为 caret 范围出版:相容 构建器/客户端的固定组补丁不发布此软件包或CLI. 0.x 一个0.x 客户端小过此范围,仍会触发模板和CLI补丁. 一个 明确的模板更新还发布CLI,其模板依赖性仍然存在 没错 采用这种依赖性政策将模板和CLI发布一次.

import {
  getSiteTemplate,
  collectSeedValidationErrors,
  collectTemplateValidationErrors,
} from '@dani-builder/site-templates';

const template = getSiteTemplate('business-basic');
const seed = template.compositions['forest-stay'].seed;
const colors = template.palettes.clay.brandColors;
const errors = collectTemplateValidationErrors(template);
// For externally authored content, validate only that supplied TemplateSeed:
const seedErrors = collectSeedValidationErrors(template, 'forest-stay', seed);

每个页面存储 route: 家有弹子 home 但决心 /; 其他路线 为: /about 财务报告和审定财务报表 /contact。保留块顺序、文本、明确无效、空 ctaText,和部分锚。 联络英雄故意使形象无效 两个链接, 有块 headerMode: 'none'。特性链接可能无效。 每个 突出显示项目需要图像; 每个非虚拟共享图像都有 { media: { assetKey }, alt, fit }。直接上传字段,例如页脚/导航 标志使用赤色 { assetKey } 或无效。 资产支助image/jpeg和 巴布亚新几内亚image/png包括透明的PNG品牌; SVG被排除在外 便携式种子合同。 可选 global.favicon 使用相同的赤裸的参考. 输入或无效外观值项目为无效 。 预览媒体保存 MIME 层面,产生 .jpg 或者说 .png 从MIME。 所有标本都保留 无效:使用站名作为文本品牌倒置.

命令包含 FAQ 块 { relationKey } 参考文献 seed.faqs; 答题 和内容机构使用现有的段落/文本块形状. 特征和要闻中的描述保留了现有的丰富文本字符串 合同。 没有CMS数字身份证,文档身份证,出版时间戳, Figma hashes, 取景器状态,窗体占位符,或作者信封被种子.

navigation.groups 映射到现有内容管理系统 globalNavigation 字段。 组 href儿童联系, primaryLink, (中文(简体) ), secondaryLink, (中文(简体) ), mainLogo, (中文(简体) ), darkLogo,以及 align 直接映射到它们现有的计划字段。 组链接为空 两个简单的菜单条目。 首要行动目标 /contact#inquiry; 菜单 链接保存 /#services 财务报告和审定财务报表 /about页脚 organization 拥有这个行业 单词标记( e)solgyeol, (中文(简体) ), haeon,或 heukbit),匹配 global.sitename; 韩语 行业名称仍然是组成名称. businessInfo 保留描述 和标有标本的法律通知. sitemap 有两组命令: 둘러보기 与家庭/大约/接触和 문의하기 单曲 mailto: 联络. otherLinks 财务报告和审定财务报表 socialLinks 为空。 这使用已存在的页脚计. 当前共享页脚将 businessInfo 置于其联系区域;种子确实 不为 Figma 的单独描述/复制右侧位置引入演示文稿字段.

0.2.1版本还删除了Pine和Clay home/关于CTA的正文 已确认的 Figma v3 节点; 这四个节点 ctaText 值为无效。 其余 复制、目的地、15个场景、23个媒体捆绑、41个街区和9个财务问题 确定的命令和内容。 现有0.2.0项选择仍然是 导入时有明确的版本冲突; 使用新的脚手架或一致的备份 而不是覆盖客户编辑.

所有的相片都是虚构的品牌 说明性样本在录制的 Unsplash 下 执照 资产元数据包含精确的源 URL,作者,许可证 URL, alt,, 样本通知 MIME 和实际尺寸 源URL是归属元数据; 运行时间渲染可以与被打包的文件一起线下工作.

复制包装 assets/business-basic 输入您主机的目录 public/site-templates/business-basic 目录。 每一笔资产,解决 asset.src 替换 assets/ 与 /site-templates/; 举例来说 assets/business-basic/pine-cabin.jpg 变成 /site-templates/business-basic/pine-cabin.jpg。公共子路径导出 @dani-builder/site-templates/assets/business-basic/pine-cabin.jpg 允许工具 以通过 import.meta.resolve() 无根 文件系统假设. files 包括 npm 沥青球中的所有资产.

DEV-257 上传/重用 Strapi 中的文件,解决逻辑媒体/FAQ/页面密钥, 地图导航组,应用地语感知链接并写 CMS 文档. DEV-270 将这个种子转换成无 CMS 预览读取模型并供应其 资产 URL 解析器。 渲染者行为,形式提交,CLI/进口者执行, 静态浏览器的核查属于这些后续任务.

静态前端预览

这个 ./preview 条目将相同的可移植种子投射到现有的 @dani-builder/strapi-client/types 前端的合同。 它不执行采集, CMS写作,或环境外观,不需要Strapi或Next.js运行时间.

import { businessBasicTemplate } from '@dani-builder/site-templates';
import { createTemplatePreview } from '@dani-builder/site-templates/preview';
// showcaseSeed is a TemplateSeed authored by your host project.
import { showcaseSeed } from './content.js';

const preview = createTemplatePreview({
  manifest: businessBasicTemplate,
  seed: showcaseSeed, // Optional; defaults to the selected composition seed
  selection: {
    templateId: 'business-basic',
    templateVersion: businessBasicTemplate.version, // Not the npm package version
    themeId: 'open-atelier',
    compositionId: 'forest-stay',
    paletteId: 'clay',
  },
  builderVersion: '0.16.0', // Explicit target Builder version
  resolveAsset: (asset) => ({
    url: `/static/templates/${asset.src}`,
    // Optional width, height, alternativeText override registry metadata.
  }),
  brandColors: { primary: '#123456', text: null }, // null falls back to palette
});

const home = preview.pages.find(({ route }) => route === '/')?.page;
// Pass home.blocks to BlockRenderer; preview.navigation/global/footer to your shell.

pages 包含命令 { route, page: PageDocument } 条目。 结果也是 包含 FaqDocument[], (中文(简体) ), NavigationDocument, (中文(简体) ), GlobalDocument, (中文(简体) ), Footer,则 选中 TemplateTheme, (中文(简体) ), BrandColors,并抄送选集. FAQ 关系 保留种子顺序; global.home 包含引用页面。 导航组 变成 globalNavigation链接保留树脂、锚地、标签和 newWindow· ; 一个逻辑的页面链接,而不对其页面路径进行href解析。 主机链接 适配器拥有预览前缀和地盘,并处理内部路径,碎片, mailto:, (中文(简体) ), tel: 和不重写种子数据的外部 URL.

解析器是同步的并收到单独的资产副本. 还原根 相对或 HTTP( S) URL, 带有可选正整数尺寸和可无效 alternativeText。登记维度/备选案文是默认值;空备选案文尚存 有意为之. 按用途计算 shared.image.alt 与上传的替代文本分开. 解析器出错,元数据无效,ID未知,模板版本不匹配, 不支持的构建器版本, 已损坏或错误的类型 refs, 无效的构建器 组件会因出错而失败。 npm semver范围包括正常的放出前规则. 支持的可移动块家庭是英雄,内容,亮点,特征, CTA,FAQ,问询形式,滑动器,便通网,测试,定价,统计,团队, 和标志云。 新增家庭采用完整的现有建设者计划:

块支持的变体/列
幻灯片cover-flow, (中文(简体) ), card-slider
丁型电网2, 3 (默认), 4列
证词centered, (中文(简体) ), side-by-side, (中文(简体) ), card-grid, (中文(简体) ), subtle-grid
定价two-column, (中文(简体) ), three-column, (中文(简体) ), single, (中文(简体) ), with-comparison
数据simple, (中文(简体) ), card-grid, (中文(简体) ), split
团队grid, (中文(简体) ), large-image, (中文(简体) ), compact (图片可选)
标志-云inline, (中文(简体) ), grid, (中文(简体) ), split, (中文(简体) ), marquee
反恐中心inline-spread, (中文(简体) ), inline-centered, (中文(简体) ), inline-stacked, (中文(简体) ), card-stacked, (中文(简体) ), card-centered, (中文(简体) ), card-horizontal

滑行项目需要与媒体共享图像;而标志项目则需要标识媒体. 证明要求 quote,定价等级要求 planName 财务报告和审定财务报表 price数据 需求 value,而团队成员要求 memberName. 可选媒体可以是无效的. 本托横跨和柱子以及证收率都强制实施"计划整数范围". 嵌入可重复字段、链接、媒体引用、enum和默认使用相同 作为现有区块的合同,产生的DTO直接转到BlockRender. 验证通过 collectSeedValidationErrors 财务报告和审定财务报表 collectTemplateValidationErrors没有CMS的身份证。 独立种子验证器 仅对照所支持的构建器组件和enum检查所提供的种子 合同,与清单无关 requiredComponents 财务报告和审定财务报表 requiredVariants。 。 。 . 这些名单继续限制着名单中的种子 collectTemplateValidationErrors。它的字符串组成 ID 标签错误并确实 不在清单中添加成分。 预览选择和构建器版本检查仍然 当提供种子覆盖时适用。 API都没有变异的标本或种子.

可选组件/介质/链接字段正常化为可重复的无效字段 空数组,缺席时会应用schema默认值. 无核前端 变量字段在缺/不缺时使用第一个 schema enum; CTA 保存为无效 变相. 所需的图像媒体和突出显示图像不能为无效 。 用户颜色 胜过调色板颜色,这些颜色会回到主题默认调色板上。 变化 调色板只更改选择和颜色.

身份为: 只预览永远不适合CMS写作. documentId用户 preview:<template>:<version>:<composition>:<logical-path>数字标识为负数 并按稳定种子转序的逻辑路径确定分配, 没有调色板输入或散列。 媒体的使用 provider: 'template-preview',没有 格式,大小 0(未知),和固定 2000-01-01T00:00:00.000Z 时间戳。 副本 使用同一逻辑文档保存其ID。 整个结果与 输入和 JSON 可往返; 不包含解析器功能或登记册.

版本与发布记录

@dani-builder/site-templates 共发布 18 个版本,首次发布于 2026/10/07;过去 12 个月发布了 18 个版本。

版本发布日期距今
0.8.0latest2026/11/056 天前
0.7.02026/11/019 天前
0.6.22026/10/2913 天前
0.6.12026/10/2516 天前
0.6.02026/10/2517 天前
0.5.02026/10/2517 天前

关于 @dani-builder/site-templates 的常见问题

@dani-builder/site-templates 是什么?

可再用 Daniworks Builder 站点模板 出货单、调色板和可移植种子合同.

如何安装 @dani-builder/site-templates?

在项目目录运行 npm install @dani-builder/site-templates,或使用 pnpm add / yarn add / bun add。

@dani-builder/site-templates 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dani-builder/site-templates 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dani-builder/site-templates 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.13。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dani-builder/site-templates 可以商用吗?

@dani-builder/site-templates 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dani-builder/site-templates 的下载量有多少?

根据 npm 官方下载统计,@dani-builder/site-templates 在 2026/10/11 – 2026/11/09 这 30 天内被下载 3,134 次,日均约 104 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dani-builder/site-templates 还在维护吗?

最新版本 0.8.0 发布于 2026/11/05(6 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。