Unverified Commit 00e4a788 authored by James Elliott's avatar James Elliott
Browse files

feat(search): allow complete section customization

This allows configuring the searchable sections and which sections show the search box. In addition the javascript is only included on pages where the search box is visible.
parent 75d250b2
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -94,7 +94,13 @@ Source:

  // https://discourse.gohugo.io/t/range-length-or-last-element/3803/2

  {{ $list := (where .Site.Pages "Section" "docs") -}}
  {{ $list := slice }}
  {{- if eq (len .Site.Params.options.searchSectionsIndex) 0 }}
  {{- $list = (where .Site.Pages "Section" "docs") }}
  {{- else }}
  {{- $list = (where .Site.Pages "Type" "in" .Site.Params.options.searchSectionsIndex) }}
  {{- end }}

  {{ $len := (len $list) -}}

  {{ range $index, $element := $list -}}
+2 −0
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ lastMod = false
  clipBoard = true
  instantPage = true
  flexSearch = true
  searchSectionsShow = []
  searchSectionsIndex = []
  darkMode = true
  bootStrapJs = true
  breadCrumb = false
+5 −3
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@
  {{ $slice = $slice | append $flexSearch -}}
{{ end -}}

{{ $includeFlexSearch := and .Site.Params.options.flexSearch (or (eq (len .Site.Params.options.searchSectionsShow) 0) (in .Site.Params.options.searchSectionsShow .Section)) }}

{{ if .Site.Params.options.darkMode -}}
  {{ $darkMode := resources.Get "js/darkmode.js" -}}
  {{ $darkMode := $darkMode | js.Build -}}
@@ -77,7 +79,7 @@
  {{ with .Params.mermaid -}}
    <script src="{{ $mermaid.RelPermalink }}" defer></script>
  {{ end -}}
  {{ if .Site.Params.options.flexSearch -}}
  {{ if $includeFlexSearch -}}
    <script src="{{ $index.RelPermalink }}" defer></script>
  {{ end -}}
{{ else -}}
@@ -102,7 +104,7 @@
  {{ with .Params.mermaid -}}
    <script src="{{ $mermaid.RelPermalink }}" integrity="{{ $mermaid.Data.Integrity }}" crossorigin="anonymous" defer></script>
  {{ end -}}
  {{ if .Site.Params.options.flexSearch -}}
  {{ if $includeFlexSearch -}}
    <script src="{{ $index.Permalink }}" integrity="{{ $index.Data.Integrity }}" crossorigin="anonymous" defer></script>
  {{ end -}}
{{ end -}}
+1 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@
          {{ end -}}
        </ul>

        {{ if .Site.Params.options.flexSearch -}}
        {{ if and .Site.Params.options.flexSearch (or (eq (len .Site.Params.options.searchSectionsShow) 0) (in .Site.Params.options.searchSectionsShow .Section)) -}}
        <hr class="text-black-50 my-4 d-lg-none">
        <form class="doks-search position-relative flex-grow-1 ms-lg-auto me-lg-2">
          <input id="search" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">