about summary refs log tree commit diff stats
path: root/internal/server/templates.go
diff options
context:
space:
mode:
authorAlan Pearce2024-05-15 20:17:06 +0200
committerAlan Pearce2024-05-15 20:19:39 +0200
commit5521173ea0e05bda93096b51f67c5e813cb1d87e (patch)
tree79f066b3396b19f1b76a1e544a359b9b4088df82 /internal/server/templates.go
parent9437f522c2ed21950acde884cafc369ca45f4b7b (diff)
downloadsearchix-5521173ea0e05bda93096b51f67c5e813cb1d87e.tar.lz
searchix-5521173ea0e05bda93096b51f67c5e813cb1d87e.tar.zst
searchix-5521173ea0e05bda93096b51f67c5e813cb1d87e.zip
feat: add browser search engines via opensearch description
https://developer.mozilla.org/en-US/docs/Web/OpenSearch
Diffstat (limited to 'internal/server/templates.go')
-rw-r--r--internal/server/templates.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/internal/server/templates.go b/internal/server/templates.go
index d8ffcf5..1837665 100644
--- a/internal/server/templates.go
+++ b/internal/server/templates.go
@@ -81,9 +81,23 @@ func loadTemplates() (TemplateCollection, error) {
 	}
 	templates["index"] = index
 
-	glob := path.Join(templateDir, "blocks", "*.gotmpl")
+	glob := path.Join(templateDir, "*.gotmpl")
 	templatePaths, err := fs.Glob(frontend.Files, glob)
 	if err != nil {
+		return nil, errors.WithMessage(err, "could not glob main templates")
+	}
+	for _, fullname := range templatePaths {
+		tpl, err := loadTemplate(layoutFile, fullname)
+		if err != nil {
+			return nil, err
+		}
+		name, _ := strings.CutSuffix(path.Base(fullname), ".gotmpl")
+		templates[name] = tpl
+	}
+
+	glob = path.Join(templateDir, "blocks", "*.gotmpl")
+	templatePaths, err = fs.Glob(frontend.Files, glob)
+	if err != nil {
 		return nil, errors.WithMessage(err, "could not glob block templates")
 	}
 	for _, fullname := range templatePaths {