diff options
| author | grm <grm@eyesin.space> | 2026-09-16 00:20:06 +0300 |
|---|---|---|
| committer | grm <grm@eyesin.space> | 2026-09-16 00:20:06 +0300 |
| commit | 5119018feeaa22c47c0e91e15d3b9414dd6e0772 (patch) | |
| tree | df5c5813c3c92e21b1230516f849de811adf212e /AGENTS.md | |
| parent | 839343a3108734a15e331b542a20ed9c77ef582b (diff) | |
| download | blogspace-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.md | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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 |
