These APIs are the standard way to serve Paw's embedded assets and wrap every response in the default page shell.
paw.PathAssetspaw.NewAssetsHttpHandler()paw.HeaderConfigpaw.RenderHeader()paw.RenderDefaultFooter()API 接口 |
Description 说明 |
|---|---|
PathAssets |
The route prefix for bundled static assets. 内置静态资源的路由前缀。 |
NewAssetsHttpHandler() |
Returns the http.HandlerFunc that serves embedded assets under PathAssets. 返回用于在 PathAssets 下提供静态资源的 http.HandlerFunc。 |
RenderDefaultHeader(w, title) |
Shortcut for the common case where HeaderConfig only needs a writer and title. 适用于只需要 writer 和 title 的 HeaderConfig 简写形式。 |
HeaderConfig |
Configures the page header. Today it exposes Wr, Title, and DarkMode. 配置页面头部,目前包含 Wr、Title 和 DarkMode。 |
RenderHeader(HeaderConfig) |
Renders the full document head and opening shell markup. 渲染完整的文档头部和页面壳起始标记。 |
RenderDefaultFooter(w) |
Appends the bundled JavaScript assets and closing markup. 追加内置 JavaScript 资源和页面结尾标记。 |
Asset bootstrapping is a one-time setup step. After that, any Paw page can rely on the shared CSS and JavaScript.
http.HandleFunc(paw.PathAssets, paw.NewAssetsHttpHandler())
Use HeaderConfig when you want to toggle dark mode or build your own shell helper.
The helper below is how the docs site renders every page.
func renderPage(w http.ResponseWriter, title string, body paw.Ui, darkMode bool) {
paw.RenderHeader(paw.HeaderConfig{
Wr: w,
Title: title,
DarkMode: darkMode,
})
if err := (paw.Container{Body: body}).Render(w); err != nil {
panic(err)
}
paw.RenderDefaultFooter(w)
}
NewAssetsHttpHandler only serves files below PathAssets + "static/" and intentionally refuses directory listings.
RenderDefaultHeader is convenience sugar; use RenderHeader when you need DarkMode or future header options.