Add Lunr search UI integration (#580)

- Add search input field to toolbar (conditionally rendered when
  SITE_SEARCH_PROVIDER is set)
- Load lunr.js, search-ui.js, and search-index.js scripts
- Add maximum-scale=1 to viewport meta tag for better mobile behavior

Refs: boostorg/boostlook#142
This commit is contained in:
Julio C. Estrada
2026-01-16 03:30:14 -05:00
committed by GitHub
parent b34b5aec17
commit 0e0381132a
4 changed files with 19 additions and 7 deletions

View File

@@ -1,3 +1,9 @@
<script id="site-script" src="{{{uiRootPath}}}/js/site.js" data-ui-root-path="{{{uiRootPath}}}"></script>
<script async src="{{{uiRootPath}}}/js/vendor/highlight.js"></script>
<script async src="{{{uiRootPath}}}/js/vendor/tabs.js" data-sync-storage-key="preferred-tab"></script>
{{#if env.SITE_SEARCH_PROVIDER}}
<script async src="{{{uiRootPath}}}/js/vendor/lunr.js"></script>
<script async src="{{{uiRootPath}}}/js/search-ui.js" id="search-ui-script" data-site-root-path="{{{siteRootPath}}}"
data-ui-root-path="{{{uiRootPath}}}"></script>
<script async src="{{{siteRootPath}}}/search-index.js"></script>
{{/if}}

View File

@@ -1,2 +1,2 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">

View File

@@ -1,6 +1,5 @@
<div id="header">
{{#if (and (eq page.component.latest.asciidoc.attributes.remove-sidenav undefined) (eq page.attributes.remove-sidenav
undefined))}}
{{#if (and (eq page.component.latest.asciidoc.attributes.remove-sidenav undefined) (eq page.attributes.remove-sidenav undefined))}}
{{> nav}}
{{/if}}
</div>

View File

@@ -1,5 +1,12 @@
<div class="toolbar" role="navigation">
{{> nav-toggle}}
{{> breadcrumbs}}
{{#if env.SITE_SEARCH_PROVIDER}}
<div class="search-container">
<div id="search-field" class="field has-filter">
<input id="search-input" type="text" placeholder="Search the docs" {{#if page.home}} autofocus{{/if}}>
</div>
</div>
{{/if}}
{{> pagination-spirit}}
</div>