Documentation
¶
Index ¶
- type HTMLRender
- func (r *HTMLRender) AddHook(hook RendererHook)
- func (r *HTMLRender) ClientComponentRedirect(w http.ResponseWriter, rq *http.Request, url string) hypergon.HypergonError
- func (r *HTMLRender) Render(w http.ResponseWriter, req *http.Request, name string, data map[string]any) hypergon.HypergonError
- func (r *HTMLRender) RenderClientComponent(w http.ResponseWriter, rq *http.Request, component string, ...) hypergon.HypergonError
- func (r *HTMLRender) RenderPartial(w http.ResponseWriter, name string, data any) hypergon.HypergonError
- type HTMLRenderConfig
- type JSONRenderer
- type RendererHook
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HTMLRender ¶
type HTMLRender struct {
// contains filtered or unexported fields
}
HTMLRender accepts templates and a layout that will parse all necessary html files.
func NewHTMLRenderer ¶
func NewHTMLRenderer(cfg ...HTMLRenderConfig) *HTMLRender
The constructor for the HTMLRender.
func (*HTMLRender) AddHook ¶
func (r *HTMLRender) AddHook(hook RendererHook)
Allows adding a hook to modify data globally.
func (*HTMLRender) ClientComponentRedirect ¶
func (r *HTMLRender) ClientComponentRedirect(w http.ResponseWriter, rq *http.Request, url string) hypergon.HypergonError
RenderClientComponent handles redirection from SSR -> CSR javascript component.
func (*HTMLRender) Render ¶
func (r *HTMLRender) Render(w http.ResponseWriter, req *http.Request, name string, data map[string]any) hypergon.HypergonError
Render renders a html page with layout. The name must unique so it wont be a conflict to other html pages.
func (*HTMLRender) RenderClientComponent ¶
func (r *HTMLRender) RenderClientComponent(w http.ResponseWriter, rq *http.Request, component string, props map[string]any) hypergon.HypergonError
RenderClientComponent handles SSR rendered javascript component (e.g. React, Vue, Svelte)
This sets headers X-Inertia as the trigger to perform encoding `PageData` to the response and will handle by the javascript to hydrate
func (*HTMLRender) RenderPartial ¶
func (r *HTMLRender) RenderPartial(w http.ResponseWriter, name string, data any) hypergon.HypergonError
RenderPartial renders a partial template without the layout The name must unique so it wont be a conflict to other partial htmls.
type HTMLRenderConfig ¶
type HTMLRenderConfig struct {
// Layout name declaration.
// Default: "layout.html"
Layout string
// TemplateDirs where you declare where are your html templates are in.
//
// Default: []string{"templates", "templates/partials"}
TemplateDirs []string
// Add custom functionality within your html template
CustomFuncs map[string]any
}
type JSONRenderer ¶
type JSONRenderer struct{}
JSONRenderer object.
func (*JSONRenderer) JSON ¶
func (r *JSONRenderer) JSON(w http.ResponseWriter, data any) hypergon.HypergonError
JSON functions returns a json response.