Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/h-enk/doks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Elliott <james-d-elliott@users.noreply.github.com>2022-06-25 04:07:03 +0300
committerJames Elliott <james-d-elliott@users.noreply.github.com>2022-06-25 04:44:10 +0300
commit00e4a7886e830b26838b5a33793d5e75086e4ce8 (patch)
tree01983326bd39636dfab11a8b8fc3e742636ad482
parent75d250b240fe75249cc5682362c3a964761a6473 (diff)
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.
-rw-r--r--assets/js/index.js8
-rw-r--r--config/_default/params.toml2
-rw-r--r--layouts/partials/footer/script-footer.html8
-rw-r--r--layouts/partials/header/header.html2
4 files changed, 15 insertions, 5 deletions
diff --git a/assets/js/index.js b/assets/js/index.js
index f3d8da1..dbaaa28 100644
--- a/assets/js/index.js
+++ b/assets/js/index.js
@@ -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 -}}
diff --git a/config/_default/params.toml b/config/_default/params.toml
index 5780d96..df9903b 100644
--- a/config/_default/params.toml
+++ b/config/_default/params.toml
@@ -83,6 +83,8 @@ lastMod = false
clipBoard = true
instantPage = true
flexSearch = true
+ searchSectionsShow = []
+ searchSectionsIndex = []
darkMode = true
bootStrapJs = true
breadCrumb = false
diff --git a/layouts/partials/footer/script-footer.html b/layouts/partials/footer/script-footer.html
index f57261a..8cfe03e 100644
--- a/layouts/partials/footer/script-footer.html
+++ b/layouts/partials/footer/script-footer.html
@@ -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 -}} \ No newline at end of file
+{{ end -}}
diff --git a/layouts/partials/header/header.html b/layouts/partials/header/header.html
index 65744ec..5dfae5b 100644
--- a/layouts/partials/header/header.html
+++ b/layouts/partials/header/header.html
@@ -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">