aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-09-16 00:20:06 +0300
committergrm <grm@eyesin.space>2026-09-16 00:20:06 +0300
commit5119018feeaa22c47c0e91e15d3b9414dd6e0772 (patch)
treedf5c5813c3c92e21b1230516f849de811adf212e /AGENTS.md
parent839343a3108734a15e331b542a20ed9c77ef582b (diff)
downloadblogspace-5119018feeaa22c47c0e91e15d3b9414dd6e0772.tar.gz
blogspace-5119018feeaa22c47c0e91e15d3b9414dd6e0772.tar.bz2
blogspace-5119018feeaa22c47c0e91e15d3b9414dd6e0772.zip
Put the header search box in the menu row, and stop saying "Search"
The header search was a band of its own under the menu; now it floats at the right end of the menu row and only gets a thin bar when the header has no menu. The forms are a single input — Enter and the phone keyboard's search key submit a one-field form everywhere — with the placeholder as the label, side boxes start without a heading, and the results page shows a box only when no module does, so a page no longer reads "Search" a dozen times. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sd8UPWrvyYCLj97JexNw3A
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md10
1 files changed, 7 insertions, 3 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 5e94b3d..3959498 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -295,9 +295,13 @@ internal/web/ server.go (host router, middleware, render helpers)
and `blog/tag.html`); the two modules are `tags` (by use, `count`) and
`tagcloud` (alphabetical, `cloudSizes` → `tc-1…tc-5`).
- **Search** (`web/search.go`, `handleBlogSearch`, `GET /search?q=&p=`,
- `blog/search.html`): the `search` module is a plain GET form (header bar or
- side box, `searchform` in `layouts/blog.html`; the results page shows one
- too). `searchPattern` turns the query into the regex both Postgres and Go
+ `blog/search.html`): the `search` module is a plain GET form of one input
+ (`searchform` in `layouts/blog.html`; Enter submits, the placeholder is the
+ label, so "Search" is not repeated all over the page). In the header it is
+ rendered inside the menu module's row, floated right (`Layout.HeaderMenu/
+ HeaderSearch`), and gets its own thin bar only when the header has no menu;
+ in a column it is a box with an optional heading. The results page shows a
+ box of its own only when no module does (`Layout.HasSearch`). `searchPattern` turns the query into the regex both Postgres and Go
run: words `regexp.QuoteMeta`'d and joined with `.*`, so the reader's words
are literal, case does not matter (`~*` / `(?is)`) and spaces mean
"anything in between", in order. `SearchPublishedPosts` matches it against