Remove the legacy Fuse.js search from html-head.html (it double-loaded
with the new Pagefind UI; backup kept at html-head.html.bkup) and add a
Pagefind Default-UI partial (search.html) injected into the sidebar via
menu.html.
Index scoping: tag the article element with data-pagefind-body in
baseof.html, term.html, and posts/{single,list}.html so Pagefind indexes
page content only (pages without the tag are skipped; 404.html stays
untagged).
search.html (all overrides #search-scoped, since pagefind-ui.css loads in
<body> after the head CSS):
- compact input/magnifier/clear-button fitted to the sidebar; clear
button uses fixed px (not %) because the results drawer is an in-flow
child of the form, which stretches the form to results height
- hide the empty .result-thumb placeholder (no images in the index) that
was pushing result text ~90px right
- restyle matched-term <mark> from UA yellow to subdued slate
- keyboard navigation (Pagefind 1.5.2 has none; stock Enter is a silent
no-op): capture-phase keydown implements ArrowUp/Down highlighting with
wraparound across top-level hits AND their nested sub-results (each sub
highlights its own .result-nested row), Enter opens the highlighted
result (or the top result), and a fingerprint-aware MutationObserver
keeps the highlight across Pagefind's async re-renders without
resetting it on every DOM patch
19 lines
390 B
HTML
19 lines
390 B
HTML
{{ define "main" }}
|
|
<article class="markdown book-post" data-pagefind-body>
|
|
<h1>
|
|
{{ partial "docs/title" . }}
|
|
</h1>
|
|
{{ partial "docs/post-meta" . }}
|
|
<div class="book-post-content markdown-inner">
|
|
{{- .Content -}}
|
|
</div>
|
|
</article>
|
|
{{ end }}
|
|
|
|
{{ define "toc" }}
|
|
{{ partial "docs/toc" . }}
|
|
{{ end }}
|
|
|
|
{{ define "footer" }}
|
|
{{ partial "docs/post-prev-next" . }}
|
|
{{ end }} |