---
description: Go HTML 模板约定(SSR)
globs: templates/**/*
alwaysApply: false
---
# 模板约定
- 布局:`base.tmpl` + 各页定义 `content` 等 block(或 `{{template}}` 组合);保持片段小而可复用。
- **默认转义**:`{{.Title}}` 等普通插值;用户生成 HTML 必须先经现有消毒(如 `SanitizePostHTML`),再用显式安全函数输出,禁止随意放开。
- 静态资源走 `/ssr-assets/...`(`public/assets` 嵌入),不要写死外链 CDN(除非产品规格要求)。
- 页面数据通过 handler 组装的 view model 传入;模板内不做复杂业务判断。
- 中文 UI 文案可写在模板;与品牌相关的站点名等从 settings/view 传入。