Website changelog
Latest changes on this website
-
2026-05-17: added june OCD (wouter simons)
-
2026-05-17: added june techtuesdays (wouter simons)
-
2026-05-10: search using flexsearch (!159) (Adrian Pascu)
-
2026-05-10: Revert Knife Sharpening changes (Adrian Pascu)
-
2026-05-10: fix for outbound agenda items in menu (Tom Behets)
-
2026-05-10: revert themes/code-editor/layouts/partials/menu.html (Tom Behets)
-
2026-05-10: put back 2023-01-17.md (Tom Behets)
-
2026-05-10: rm .claudeignore (Tom Behets)
-
2026-05-10: rm .claudeignore (Tom Behets)
-
2026-05-10: remove kitty-specs (Tom Behets)
-
2026-05-10: remove .kittify (Tom Behets)
-
2026-05-09: fix for agenda items offscreen bug (Tom Behets)
-
2026-05-09: make agenda items in sidebar use more available space, so it says on one line (Tom Behets)
-
2026-05-09: tweak(sidebar): make agenda items use the full sidebar width
The theme's .menu nav ul li padding (4px 30px 4px 40px) plus the
glyphicon-file :before were sized for plain link rows. Agenda items
under #last-events use a different shape — each <li class="row">
is a Bootstrap row with col-md-5 (date) + col-md-7 (title) — and
the wide left/right padding plus the 8px-margin file icon were
crowding the title column.
Override #last-events ul li.row to padding: 2px 0; margin-right: 0
and suppress the :before so the date and title fill the column.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: feat(search): mirror live query into ?q= as the user types
Every keystroke on /search/ now updates the URL bar via
history.replaceState so the q= parameter always reflects the current
input. replaceState (not pushState) keeps the browser back-button
clean — no history entry per character — but a copy-paste of the URL
mid-search captures what the user has typed so far.
Empty input removes the q= parameter entirely instead of leaving an
empty ?q=. Other URL parameters (if any) are preserved. Failure modes
(no history API, URL constructor rejected) silently no-op; the
search itself is independent of URL state.
The companion seedFromQueryString() flow still runs unchanged, so a
visitor arriving via /search/?q=foo (e.g. from the sidebar) auto-runs
the query, then any further typing keeps the URL in sync.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: feat(search): add fuzzy/exact toggle to /search/ page
A new checkbox 'Fuzzy search (typo-tolerant)' sits alongside 'Include
past events'. Default ON (matches today's behaviour). When unchecked,
search runs in exact-substring mode — useful when fuzzy results are
too noisy for a known query.
Implementation: build two Fuse instances at index-load time, identical
except threshold (0.4 vs 0). Fuse compiles the threshold into the
index at construction time so we can't switch per-search; keeping
both around lets the toggle flip with no rebuild cost. Memory
overhead is the second index's internal trie/scores; the original
entries array is shared.
The toggle re-runs the query (unlike include-past which only
re-renders the cached rows) because changing fuzziness produces
different result sets, not just a filter on the same set.
The fuzzy toggle is optional — if the markup is missing (older
templates), the script defaults to fuzzy=true and works as before.
Sidebar dropdown (sidebar-search.js) is unchanged; it always uses
fuzzy. Out of scope for this commit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: fix(sidebar): center the dropdown under the search input
The input is inline-block and was centered by the parent div's
text-align: center, but the <ul> result list is block-level and
text-align does not center blocks. Adding margin: 4px auto 0 centers
the dropdown horizontally so its 90% width sits flush under the input.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: tweak(sidebar): swap mark colors to dark fill + solarized text
Black background (#000) with #93a1a1 foreground reads as a subtle
inverse highlight against the dark code-editor theme rather than the
sage block of the previous #abab8b/#000 pairing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: tweak(sidebar): update placeholder copy to 'Search this site...'
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
-
2026-05-09: feat(search): group events to top of results, sorted newest first
Both runtimes (sidebar dropdown and /search/ page) now partition matches
into events vs everything else, sort the events block by startdate
descending (ISO YYYY-MM-DD strings sort lexicographically the same as
chronologically), and concatenate events first then non-events. Inside
each block, Fuse relevance order is preserved.
Also: add .worktrees_backup to .gitignore. Stale build artifacts from
the prior site-search mission's worktree had been getting picked up by
git add -A on each follow-up commit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (Tom Behets)
See
https://gitlab.com/hsbxl/hsbxl-website/commits/main for the complete list.