用途
page-import 是一个网站页面导入/迁移的编排器(Orchestrator)。它面向 AEM Edge Delivery Services,用于将任意 URL 的单个网页导入为结构化 HTML 内容,以便在 AEM 中进行内容创作。该技能遵循 David's Model(https://www.aem.live/docs/davidsmodel),强调优先考虑创作体验而非开发者便利,尽量减少区块使用,优先采用默认内容,并使用 Block Collection 内容模型。
适用场景
- 从现有网站导入或迁移单个页面
- 转换竞品页面以供参考或分析
- 从设计原型或暂存站点创建内容文件
不适用场景:
- 从零构建新区块(应使用 content-driven-development 技能)
- 修改现有区块代码(应使用 building-blocks 技能)
- 设计内容模型(应使用 content-modeling 技能)
范围
该技能仅导入/迁移主体内容:
- 导入:Hero 区域、功能、推荐语、CTA、正文内容
- 跳过:页眉、导航、页脚(由专门技能处理)
主要能力与子技能
该编排器将工作委派给以下子技能:
- scrape-webpage:从源 URL 提取内容、元数据和图片
- identify-page-structure:识别区块边界和内容序列
- authoring-analysis:做出创作决策(默认内容 vs 区块)
- generate-import-html:创建结构化 HTML 文件
- preview-import:在本地开发服务器中验证
这些技能会按需调用其他技能:
- page-decomposition(通过 identify-page-structure)按区块分析内容序列
- block-inventory(通过 identify-page-structure)调查可用区块
- content-modeling(通过 authoring-analysis)验证不明确的区块选择
- block-collection-and-party(通过 authoring-analysis)验证区块是否存在
使用方式:导入工作流
步骤 0:创建 TodoList
使用 TodoWrite 工具创建包含以下任务的待办列表:
- 抓取网页(scrape-webpage 技能)——成功标准:metadata.json、screenshot.png、cleaned.html、images/ 文件夹存在
- 识别页面结构(identify-page-structure 技能)——成功标准:识别区块边界、记录内容序列、完成区块清单
- 分析创作方式(authoring-analysis 技能)——成功标准:每个内容序列都有决策(默认内容或区块名称),区块样式已验证
- 生成 HTML 文件(generate-import-html 技能)——成功标准:HTML 文件存在、图片文件夹已复制、验证清单通过
- 预览并验证(preview-import 技能)——成功标准:页面在浏览器中正确渲染,与原始结构匹配
步骤 1:抓取网页
调用 scrape-webpage 技能,提供目标 URL 和输出目录 ./import-work。 成功标准:
- metadata.json 存在,包含路径、元数据、图片映射
- screenshot.png 已保存以供视觉参考
- cleaned.html 使用本地图片路径
- images/ 文件夹包含所有已下载图片
步骤 2:识别页面结构
调用 identify-page-structure 技能,提供步骤 1 的 screenshot.png、cleaned.html、metadata.json。 成功标准:
- 识别区块边界并附样式说明
- 为每个区块记录内容序列(中性描述)
- 完成区块清单(本地 + Block Collection)
步骤 3:分析创作方式
调用 authoring-analysis 技能,提供步骤 2 的区块列表与内容序列、区块清单,以及步骤 1 的 screenshot.png。 成功标准:
- 每个内容序列都有决策:默认内容或区块名称
- 为所有将使用的区块获取区块结构
- 单区块区块的样式已验证(如适用,步骤 3e)
步骤 4:生成 HTML 文件
调用 generate-import-html 技能,提供步骤 3 的创作分析、区块样式决策,以及步骤 1 的 metadata.json 和 cleaned.html。 成功标准:
- HTML 文件保存在正确路径(来自 metadata.json)
- 所有区块均已导入(无截断)
- 图片文件夹已复制到正确位置
- 包含元数据块(除非跳过)
- 验证清单通过
步骤 5:预览并验证
调用 preview-import 技能,提供步骤 4 的 HTML 文件路径、步骤 1 的 screenshot.png(用于比较)、metadata.json 中的 documentPath。 成功标准:
- 页面在浏览器中加载
- 区块正确渲染
- 布局与原始页面匹配(与截图比较)
- 无控制台错误
- 图片加载或显示占位符
高层注意事项
应做:
- 按顺序遵循工作流步骤
- 验证后标记每个待办完成
- 使用 TodoWrite 跟踪进度
- 导入所有内容(部分导入视为失败)
- 将最终预览与原始截图比较
不应做:
- 跳过或合并步骤
- 在没有区块清单的情况下做出创作决策
- 在完成创作分析前生成 HTML
- 截断或摘要内容
- 未经视觉验证就认为导入完成
成功标准
导入完成的条件:
- 所有 5 个待办均标记完成
- HTML 文件在浏览器中渲染
- 视觉结构与原始页面匹配
- 所有内容已导入(无截断)
- 图片可访问
限制
该编排器管理使用现有区块的单页导入。它不支持:
- 自定义变体创建(区块按原样使用)
- 多页批量处理(一次导入一个页面)
- 区块代码开发(假定区块已存在)
- 跨导入的高级复用检测
- 自动区块匹配算法
如需这些功能,可考虑使用专门工具中更全面的导入工作流。