package main import ( "git.dev.alexdunmow.com/block/core/blocks" "git.dev.alexdunmow.com/block/core/templates" "git.dev.alexdunmow.com/block/core/templates/pongo" ) var engine = pongo.NewEngine(TemplatesFS(), "/templates/lcars/style.css") func Register(tr templates.TemplateRegistry, br blocks.BlockRegistry) error { tr.RegisterSystemTemplate(templates.SystemTemplateMeta{ Key: "lcars", Title: "LCARS", Description: "Star Trek LCARS computer interface theme", }) if err := tr.RegisterPageTemplate("lcars", templates.PageTemplateMeta{ Key: "default", Title: "Standard Display", Description: "Classic LCARS layout with sidebar and header frame", Slots: []string{"header", "sidebar", "main", "footer"}, }, engine.MustPageTemplate("default.html")); err != nil { return err } if err := tr.RegisterPageTemplate("lcars", templates.PageTemplateMeta{ Key: "full-display", Title: "Full Display", Description: "Full-width LCARS display without sidebar", Slots: []string{"header", "main", "footer"}, }, engine.MustPageTemplate("full_display.html")); err != nil { return err } if err := br.LoadSchemasFromFS(SchemasFS()); err != nil { return err } br.Register(LCARSHeaderMeta, engine.MustBlockTemplateWithDefaults("blocks/header.html", headerDefaults)) br.Register(LCARSSidebarMeta, engine.MustBlockTemplateWithDefaults("blocks/sidebar.html", sidebarDefaults)) br.Register(LCARSPanelMeta, engine.MustBlockTemplate("blocks/panel.html")) br.RegisterTemplateOverride("lcars", "heading", engine.MustTemplateOverride("blocks/heading_override.html")) br.RegisterTemplateOverride("lcars", "text", engine.MustTemplateOverride("blocks/text_override.html")) tr.RegisterEmailWrapper("lcars", engine.MustEmailWrapper("email_wrapper.html")) return nil }