aboutsummaryrefslogtreecommitdiffstats
path: root/internal/web/layout.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/web/layout.go')
-rw-r--r--internal/web/layout.go16
1 files changed, 10 insertions, 6 deletions
diff --git a/internal/web/layout.go b/internal/web/layout.go
index b8069a0..0d51068 100644
--- a/internal/web/layout.go
+++ b/internal/web/layout.go
@@ -12,9 +12,9 @@ import (
// Modules a blogger can put in each area. Header modules are the big
// blocks; the side columns take the small boxes; the footer its own set.
var moduleKinds = map[string][]string{
- "header": {"title", "logo", "menu"},
- "left": {"menu", "recent", "archive", "tags", "tagcloud", "logo", "html"},
- "right": {"menu", "recent", "archive", "tags", "tagcloud", "logo", "html"},
+ "header": {"title", "logo", "menu", "search"},
+ "left": {"menu", "search", "recent", "archive", "tags", "tagcloud", "logo", "html"},
+ "right": {"menu", "search", "recent", "archive", "tags", "tagcloud", "logo", "html"},
"above": {"html"},
"below": {"html"},
"footer": {"text", "rss", "sitemap", "html"},
@@ -29,6 +29,7 @@ var moduleNames = map[string]string{
"recent": "Recent posts",
"tags": "Tags",
"tagcloud": "Tag cloud",
+ "search": "Search box",
"html": "Custom HTML",
"rss": "RSS link",
"text": "Footer text",
@@ -52,11 +53,14 @@ func allowedKind(area, kind string) bool {
return false
}
-// moduleHasSettings says whether the module has an edit page.
-func moduleHasSettings(kind string) bool {
- switch kind {
+// moduleHasSettings says whether the module has an edit page. Header modules
+// show no heading, so a search box there has nothing to edit.
+func moduleHasSettings(m store.Module) bool {
+ switch m.Kind {
case "html", "text", "recent", "archive", "sitemap", "tags", "tagcloud":
return true
+ case "search":
+ return m.Area != "header"
}
return false
}