Page Shell and Assets
页面壳与静态资源

These APIs are the standard way to serve Paw's embedded assets and wrap every response in the default page shell.

这些 API 是提供 Paw 内置资源并用默认页面壳包裹响应的标准方式。
paw.PathAssetspaw.NewAssetsHttpHandler()paw.HeaderConfigpaw.RenderHeader()paw.RenderDefaultFooter()
Covered APIs
涵盖 API
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 资源和页面结尾标记。
Minimal Example: Serve embedded assets
最小示例:提供内置静态资源

Asset bootstrapping is a one-time setup step. After that, any Paw page can rely on the shared CSS and JavaScript.

资源接入只需要初始化一次。之后所有 Paw 页面都可以依赖共享的 CSS 和 JavaScript。

http.HandleFunc(paw.PathAssets, paw.NewAssetsHttpHandler())
Advanced Example: Render a custom shell with dark mode
进阶示例:用深色模式渲染自定义页面壳

Use HeaderConfig when you want to toggle dark mode or build your own shell helper.

当你要切换深色模式或封装自己的页面壳 helper 时,使用 HeaderConfig。
Shell helper
页面壳 helper

The helper below is how the docs site renders every page.

下面这个 helper 就是文档站渲染每个页面的方式。
HeaderConfig.DarkModeContainerRenderDefaultFooter

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)
}
Notes and Related Docs
说明与相关文档

Notes

说明

NewAssetsHttpHandler only serves files below PathAssets + "static/" and intentionally refuses directory listings.

NewAssetsHttpHandler 只会提供 PathAssets + "static/" 下的文件,并且会主动拒绝目录列表。

RenderDefaultHeader is convenience sugar; use RenderHeader when you need DarkMode or future header options.

RenderDefaultHeader 是便利封装;如果你需要 DarkMode 或未来更多头部参数,请用 RenderHeader。

Related Pages

相关页面
Getting Started
快速开始
Boot a Paw page with asset serving, a standard shell, and a first render path.
从静态资源、标准页面壳和首个渲染流程开始搭起一个 Paw 页面。
Layout and Navigation
布局与导航
Compose responsive layouts, links, navigation, and progressive disclosure patterns.
组合响应式布局、链接、导航以及渐进展示类交互。
Source and References
源码与参考资料