用途
该技能聚焦 Umbraco 17 服务端渲染站点的“外观”实现,即样式与脚本如何组织、后台内容与媒体如何在前端呈现。页面结构(模板、主布局、局部视图)属于同系列技能 umbraco-templating,本技能只做链接指引,不重复内容,同时也会带新手走一遍完整设计搭建流程。
主要能力
- 样式表与 JavaScript:介绍 wwwroot 下的 CSS/JS、前端库和富文本编辑器样式。
- 内容渲染:属性值、类型化取值、回退值、子页面与遍历渲染。
- 媒体渲染:图片、裁剪、缩放、视频与文件。
- 路由表:按需求指向对应参考文档,如样式对应 stylesheets-javascript.md,内容对应 rendering-content.md,媒体对应 rendering-media.md。
- 模板相关需求指向 umbraco-templating;若未安装,则获取 Working with Templates 文档。
使用方式
技能要求按需加载,不要通读整个 references/ 目录,只在开始某一步时打开对应参考文件;单个参考文件内也只取当前步骤的文档页。各参考文件相互独立,交叉链接属于“另见”而非前置条件。只有参考文档与带版本文档都无法回答时,才咨询文档代理。
第 0 步是检查版本:从 .csproj 或 Directory.Packages.props 读取 Umbraco.Cms 包版本,目标为 Umbraco 17,文档链接为 17.latest 页面。站点低于 17 则本技能不适用并应说明;没有项目或版本信息时应询问用户而不是猜测。
文档优先:不要凭记忆编写 Umbraco API 代码,先获取参考中链接的带版本 .md 页面;仍无法解决时,在同一页面查询 GitBook 文档代理,请求形式为 GET <versioned page>.md?ask=<具体问题>&goal=<用户目标>。
搭建整套设计时按顺序进行:先按 umbraco-templating 建主布局(含 @RenderBody())、页面模板以及头部和底部局部视图;再添加样式表并在布局中引用一次;然后渲染编辑录入的内容与选取的图片;最后告知用户完成代码无法代替的后台步骤,即创建文档类型、为每个模板注册(别名等于文件名)并在文档类型上允许该模板、发布内容。
适用场景
- 为 Umbraco 17 站点添加或调整全站 CSS/JS。
- 在 Razor 中渲染类型化属性、回退值和子页面列表。
- 输出图片裁剪、缩放及视频、文件等媒体内容。
- 新手按步骤搭建一个完整站点设计。
限制与注意事项
- 仅适用于 Umbraco 17,低于该版本不适用。
- 不涉及页面结构搭建,该部分由 umbraco-templating 负责。
- 建议用 IDE 与源码管理进行持续修改,后台仅适合本地快速调整;已部署站点上的后台修改可能被下次部署覆盖。
- 全站 CSS/JS 应在主布局中引用一次,而非每个模板各引一次。
- 启用 ModelsBuilder 时优先使用类型化属性而非 Value("alias") 字符串;对媒体和选取内容做空值检查。
- 视图应保持精简,只负责渲染,不在 Razor 中查询服务或做繁重遍历。
- 该技能不附带代码(无 assets/、examples/),评估只针对指导内容;客观断言位于 evals/evals.json,可用 umbraco-skill-evaluator 运行。
- 资料未提供具体安装命令、代码示例与收费信息。