Documentation ¶
Overview ¶
Package html 提供输出 HTML 内容的解码函数
srv := server.New("", "", &server.Options{ Codec: web.New().AddMimetype("text/html", html.Marshal, html.Unmarshal, "") }) html.Init(...) html.Install(...) func handle(ctx *web.Context) Responser { obj := &struct{ XMLName struct{} `html:"Object"` Data string }{} return Object(200, obj, nil) }
预定义的模板
框架本身提供了一些数据类型的定义,比如 web.Problem, 用户需要提供由 web.Problem.MarshalHTML 返回的模板定义。 如果用户还使用了 [server.RenderResponse],那么也需要提供对应的模板定义。
Index ¶
Constants ¶
View Source
const Mimetype = header.HTML
Variables ¶
This section is empty.
Functions ¶
func Install ¶ added in v0.99.0
func Install(s web.Server, funcs template.FuncMap, localized map[language.Tag]string, glob string, fsys ...fs.FS)
Install 安装模板
funcs 添加到当前模板系统的函数,除此之个,默认提供了以下两个函数:
- t 根据当前的语言(web.Context.LanguageTag)对参数进行翻译;
- tt 将内容翻译成指定语言,语言 ID 由第一个参数指定;
localized 本地化 ID 与目录的映射关系,表示这些目录只解析至对应的 ID, 如果为空则相当于 {language.Und: "."};
fsys 表示模板目录。如果 localized 不为空,则只解析该参数中指定的目录,否则解析整个目录;
NOTE: 可以多次调用,相同名称的模板会覆盖。
func Marshal ¶ added in v0.87.0
Marshal 针对 HTML 内容的解码实现
参数 v 可以是以下几种可能:
- string 或是 []byte 将内容作为 HTML 内容直接输出;
- 实现了 Marshaler 接口,则按 [Marshaler.MarshalHTML] 返回的查找模板名称;
- 其它普通对象,将获取对象的 XMLName 的 struct tag,若不存在则直接采用类型名作为模板名;
- 其它情况下则是返回 mimetype.ErrUnsupported;
Types ¶
Click to show internal directories.
Click to hide internal directories.