From 8d676923e348234cc92170521e08bad67f77e442 Mon Sep 17 00:00:00 2001
From: weru <fromweru@gmail.com>
Date: Tue, 28 Feb 2023 13:55:51 +0000
Subject: [PATCH] load search components only when it's enabled #105

---
 layouts/partials/scripts/search.html            |   21 ++++++++++++---------
 layouts/partials/search.html                    |    3 ++-
 layouts/partials/functions/getSearchConfig.html |    6 ++++++
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/layouts/partials/functions/getSearchConfig.html b/layouts/partials/functions/getSearchConfig.html
new file mode 100644
index 0000000..b72042c
--- /dev/null
+++ b/layouts/partials/functions/getSearchConfig.html
@@ -0,0 +1,6 @@
+{{ $config := site.Params }}
+{{ $enableSearch := default true $config.enableSearch }}
+{{ if eq $config.search.on false }}
+  {{ $enableSearch = false }}
+{{ end }}
+{{ return $enableSearch }}
\ No newline at end of file
diff --git a/layouts/partials/scripts/search.html b/layouts/partials/scripts/search.html
index f2e7330..d3f0141 100644
--- a/layouts/partials/scripts/search.html
+++ b/layouts/partials/scripts/search.html
@@ -1,11 +1,14 @@
-{{- $fuse := partial "functions/getScript" (dict "slug" "search/fuse") }}
-{{- $variables := partial "functions/getScript" (dict "slug" "search/variables") }}
-{{- $algolia := partial "functions/getScript" (dict "slug" "search/algolia") }}
-{{- $search := partial "functions/getScript" (dict "slug" "search/index") }}
+{{- $searchEnabled := partialCached "functions/getSearchConfig" . }}
+{{ if $searchEnabled }}
+  {{- $fuse := partial "functions/getScript" (dict "slug" "search/fuse") }}
+  {{- $variables := partial "functions/getScript" (dict "slug" "search/variables") }}
+  {{- $algolia := partial "functions/getScript" (dict "slug" "search/algolia") }}
+  {{- $search := partial "functions/getScript" (dict "slug" "search/index") }}
 
-{{- $searchLib := $fuse }}
-{{- if site.Params.search.algolia.enable }}
-  {{- $searchLib = $algolia }}
-{{- end }}
+  {{- $searchLib := $fuse }}
+  {{- if site.Params.search.algolia.enable }}
+    {{- $searchLib = $algolia }}
+  {{- end }}
 
-{{- partial "scripts/getJsBundle" (dict "scripts" (slice $searchLib $variables $search) "slug" "search") }}
\ No newline at end of file
+  {{- partial "scripts/getJsBundle" (dict "scripts" (slice $searchLib $variables $search) "slug" "search") }}
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/search.html b/layouts/partials/search.html
index 9ffb3c3..c6ee3e0 100644
--- a/layouts/partials/search.html
+++ b/layouts/partials/search.html
@@ -1,4 +1,5 @@
-{{ if .Site.Params.enableSearch | default true }}
+{{ $searchEnabled := partialCached "functions/getSearchConfig" . }}
+{{ if $searchEnabled }}
 <div class="search">
   <label for="find" class="search_label">
     {{- partial "sprite" (dict "icon" "search") }}

--
Gitblit v1.10.0