about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2024-05-09 19:36:03 +0200
committerAlan Pearce2024-05-09 19:36:03 +0200
commit631c02ac689b3366987918737e2b09f52fb16dda (patch)
tree0ae231c0a1ba2bd1cf255ea260129440056ac509
parentf42dfe7b5fd3d60c9558eb520d33c7c8fd1ba201 (diff)
downloadsearchix-631c02ac689b3366987918737e2b09f52fb16dda.tar.lz
searchix-631c02ac689b3366987918737e2b09f52fb16dda.tar.zst
searchix-631c02ac689b3366987918737e2b09f52fb16dda.zip
feat: dynamically link to sources
-rw-r--r--frontend/templates/index.gotmpl6
-rw-r--r--internal/server/server.go2
2 files changed, 5 insertions, 3 deletions
diff --git a/frontend/templates/index.gotmpl b/frontend/templates/index.gotmpl
index c94330a..b829a85 100644
--- a/frontend/templates/index.gotmpl
+++ b/frontend/templates/index.gotmpl
@@ -11,9 +11,9 @@
     <header>
       <nav>
         <h1><a href="/">Searchix</a></h1>
-        <a href="/options/nixos/search">NixOS</a>
-        <a href="/options/darwin/search">Darwin</a>
-        <a href="/options/home-manager/search">Home Manager</a>
+        {{- range $key, $value := .Sources }}
+          <a href="/options/{{ $key }}/search">{{ $value.Name }}</a>
+        {{- end }}
       </nav>
     </header>
     <main>
diff --git a/internal/server/server.go b/internal/server/server.go
index 6b7f31c..e343434 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -63,6 +63,7 @@ const jsSnippet = template.HTML(livereload.JsSnippet) // #nosec G203
 
 type TemplateData struct {
 	LiveReload   template.HTML
+	Sources      map[string]*importer.Source
 	Source       importer.Source
 	Query        string
 	Results      bool
@@ -125,6 +126,7 @@ func New(runtimeConfig *Config) (*Server, error) {
 	mux := http.NewServeMux()
 	indexData := TemplateData{
 		LiveReload: jsSnippet,
+		Sources:    config.Sources,
 	}
 	mux.HandleFunc("/{$}", func(w http.ResponseWriter, _ *http.Request) {
 		err := templates["index"].ExecuteTemplate(w, "index.gotmpl", indexData)