Arcane Lexicon has two related search outputs:
- Runtime UI search (client-side, instant).
- Optional generated
web/search-index.jsonfor external consumers.
Runtime UI Search#
The built-in UI search is initialized from rendered sidebar links (.sidebar-link).
Current behavior:
- Case-insensitive substring matching.
- Minimum query length:
2. - Maximum shown results:
10. - Categories inferred from URL path segments.
-
Keyboard shortcuts:
Cmd/Ctrl + Kfocuses search.Escapecloses results.ArrowUp/ArrowDownnavigates result list.Enteropens selected (or first) result.
Configuration#
SiteConfig(
name: 'My Docs',
searchEnabled: true,
)
When searchEnabled is false, search input is not rendered.
Generated search-index.json#
KnowledgeBaseApp.create() can generate a search index file at build time.
await KnowledgeBaseApp.create(
config: config,
stylesheet: stylesheet,
generateSearchIndex: true, // default
)
Generated file:
web/search-index.json
Entry payload includes:
titlepathcategorydescription(when available)keywords(tags/path-derived)excerpt(truncated markdown text)icon
This file is useful for external search integrations or custom client search implementations.
Notes#
- Runtime UI search currently uses sidebar-derived entries, not the generated JSON file.
- Hidden/draft pages are excluded from manifest-driven search index generation.