From f2b044364129ee9e4f66348e747bd53b4d7e55ac Mon Sep 17 00:00:00 2001 From: tjpcc Date: Sat, 16 Sep 2023 21:04:50 -0600 Subject: support template overrides --- templates.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'templates.go') diff --git a/templates.go b/templates.go index ddce7ea..e31f06f 100644 --- a/templates.go +++ b/templates.go @@ -8,3 +8,21 @@ import ( //go:embed templates/*.gmi var geminiTemplateFS embed.FS var geminiTemplate = template.Must(template.ParseFS(geminiTemplateFS, "templates/*.gmi")) + +func addTemplates(base *template.Template, additions *template.Template) (*template.Template, error) { + base, err := base.Clone() + if err != nil { + return nil, err + } + if additions == nil { + return base, nil + } + + for _, addition := range additions.Templates() { + if _, err := base.AddParseTree(addition.Name(), addition.Tree); err != nil { + return nil, err + } + } + + return base, nil +} -- cgit v1.2.3