forked from tangled.org/core
this repo has no description

appview: pages: enable fast-reload for executeRepo

Changed files
+16 -8
appview
pages
+16 -8
appview/pages/pages.go
···
return nil
}
-
func (p *Pages) execute(name string, w io.Writer, params any) error {
// In dev mode, reload the template from disk before executing
if p.dev {
-
if err := p.loadTemplateFromDisk(name); err != nil {
-
log.Printf("warning: failed to reload template %s from disk: %v", name, err)
// Continue with the existing template
}
}
-
tmpl, exists := p.t[name]
if !exists {
-
return fmt.Errorf("template not found: %s", name)
}
-
return tmpl.ExecuteTemplate(w, "layouts/base", params)
}
func (p *Pages) executePlain(name string, w io.Writer, params any) error {
-
return p.t[name].Execute(w, params)
}
func (p *Pages) executeRepo(name string, w io.Writer, params any) error {
-
return p.t[name].ExecuteTemplate(w, "layouts/repobase", params)
}
type LoginParams struct {
···
return nil
}
+
func (p *Pages) executeOrReload(templateName string, w io.Writer, base string, params any) error {
// In dev mode, reload the template from disk before executing
if p.dev {
+
if err := p.loadTemplateFromDisk(templateName); err != nil {
+
log.Printf("warning: failed to reload template %s from disk: %v", templateName, err)
// Continue with the existing template
}
}
+
tmpl, exists := p.t[templateName]
if !exists {
+
return fmt.Errorf("template not found: %s", templateName)
}
+
if base == "" {
+
return tmpl.Execute(w, params)
+
} else {
+
return tmpl.ExecuteTemplate(w, base, params)
+
}
+
}
+
+
func (p *Pages) execute(name string, w io.Writer, params any) error {
+
return p.executeOrReload(name, w, "layouts/base", params)
}
func (p *Pages) executePlain(name string, w io.Writer, params any) error {
+
return p.executeOrReload(name, w, "", params)
}
func (p *Pages) executeRepo(name string, w io.Writer, params any) error {
+
return p.executeOrReload(name, w, "layouts/repobase", params)
}
type LoginParams struct {