用途:将数据转换为 AT Protocol 的 Standard.site lexicon 记录,并用官方 schema 校验,适用于创建或验证 publication、document、subscription、recommend、theme 记录,以及把博客、文章等内容映射为 standard.site 格式。
主要能力:支持五类 lexicon——Publication(site.standard.publication,必填 url、name)、Document(site.standard.document,必填 site、title、publishedAt)、Subscription(site.standard.graph.subscription,必填 publication)、Recommend(site.standard.graph.recommend,必填 document、createdAt)、Theme(site.standard.theme.basic,必填 background、foreground、accent、accentForeground)。主题颜色使用 site.standard.theme.color#rgb(r、g、b 为 0–255 整数)或 #rgba(a 为 0–100)。
使用方式:先确定目标 lexicon,映射必填字段,再补充来源中存在的可选字段,不要为缺失的可选字段编造值。随后运行校验脚本:uv run scripts/validate.py --input record.json,或通过 stdin:cat record.json | uv run scripts/validate.py --stdin。脚本会检测 $type、必填属性、属性类型、约束(maxLength、maxGraphemes、颜色整数范围)及嵌套对象,支持单条或数组记录;输出结构化 JSON 到 stdout,诊断到 stderr,退出码 0 有效、1 无效、2 用法错误。
限制与注意:url 和 site 应避免结尾斜杠;document 的 path 需以 / 开头;publishedAt 必填且为 ISO 8601;recommend 的 createdAt 必填;tags 不带 # 前缀;RGB 为 0–255 整数,RGBA alpha 为 0–100;basicTheme 四个颜色均必填且内嵌于 publication;content 为开放 union,每项需有 $type。校验与网页验证是两回事,记录可 schema 有效但未验证,反之亦然。详细 schema 见 references 下各文件。