Documentation
¶
Overview ¶
Package html 提供输出 HTML 内容的解码函数
srv := NewServer()
tpl := template.ParseFiles(...)
srv.Mimetypes().Add("text/html", html.Marshal, nil)
func handle(ctx *web.Context) Responser {
return Object(200, html.Tpl(tpl, "index", map[string]any{...}), nil)
}
Index ¶
Constants ¶
View Source
const Mimetype = "text/html"
Variables ¶
This section is empty.
Functions ¶
func Marshal ¶
Marshal 针对 HTML 内容的解码实现
参数 v 可以是以下几种可能:
- Marshaler 接口;
- string 或是 []byte 将内容作为 HTML 内容直接输出;
- 其它情况下则是返回 serializer.ErrUnsupported;
Types ¶
type View ¶ added in v0.58.2
type View interface {
// View 返回输出 HTML 内容的对象
//
// 在模板中,用户可以使用 t 作为翻译函数,对内容进行翻译输出。
// 其本地化的语言 ID 源自 ctx.LanguageTag。
// t 的原型与模板内置的函数 printf 相同。
// 同时还提供了 tt 输出指定语言的输出,相较于 t,tt 的第一个参数为语言 ID,
// 比如 cmn-hans 等,要求必须能被 [language.Parse] 解析。
//
// name 为模板名称,data 为传递给模板的数据,
// 这两个参数与 [template.Template.Execute] 中的相同。
View(ctx *server.Context, name string, data any) Marshaler
}
View 支持本地化的模板管理
func NewLocaleView ¶ added in v0.58.2
NewLocaleView 声明目录形式的本地化模板
按目录名称加载各个本地化的模板,每个模板之间相互独立,模板内可以包含本地化相关的内容。
fsys 表示模板目录,如果为空则会采用 s 作为默认值; def 表示默认的语言,必须是 fsys 下的目录名称;
Click to show internal directories.
Click to hide internal directories.