This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch production
in repository https://gitbox.apache.org/repos/asf/parquet-site.git
The following commit(s) were added to refs/heads/production by this push:
new 90ea0a7 Switch from Algolia DocSearch to Lunr offline search (#168)
90ea0a7 is described below
commit 90ea0a7e52a9c2b360626dc6d5fbc70f49e7e918
Author: Vinoo Ganesh <[email protected]>
AuthorDate: Tue Feb 24 07:19:35 2026 -0500
Switch from Algolia DocSearch to Lunr offline search (#168)
* Switch from Algolia DocSearch to Lunr offline search
* Add missing title front matter so search results are clickable
Pages with only linkTitle (no title) had empty .Title in Hugo,
causing Lunr search results to render with no visible link text.
---------
Co-authored-by: Andrew Lamb <[email protected]>
---
.../en/docs/File Format/Data Pages/compression.md | 1 +
.../en/docs/File Format/Data Pages/encodings.md | 1 +
.../en/docs/File Format/Data Pages/encryption.md | 1 +
content/en/docs/File Format/Types/Geospatial.md | 1 +
.../en/docs/File Format/Types/VariantEncoding.md | 1 +
.../en/docs/File Format/Types/VariantShredding.md | 1 +
content/en/docs/File Format/Types/logicaltypes.md | 1 +
.../docs/File Format/binaryprotocolextensions.md | 1 +
content/en/docs/File Format/bloomfilter.md | 1 +
content/en/docs/File Format/pageindex.md | 1 +
hugo.toml | 4 +-
layouts/partials/scripts.html | 66 ++++++++++++++++++++++
12 files changed, 79 insertions(+), 1 deletion(-)
diff --git a/content/en/docs/File Format/Data Pages/compression.md
b/content/en/docs/File Format/Data Pages/compression.md
index 7210d16..1a205dc 100644
--- a/content/en/docs/File Format/Data Pages/compression.md
+++ b/content/en/docs/File Format/Data Pages/compression.md
@@ -1,4 +1,5 @@
---
+title: "Compression"
linkTitle: "Compression"
weight: 1
---
diff --git a/content/en/docs/File Format/Data Pages/encodings.md
b/content/en/docs/File Format/Data Pages/encodings.md
index 7bba6f9..5b4d35c 100644
--- a/content/en/docs/File Format/Data Pages/encodings.md
+++ b/content/en/docs/File Format/Data Pages/encodings.md
@@ -1,4 +1,5 @@
---
+title: "Encodings"
linkTitle: "Encodings"
weight: 1
---
diff --git a/content/en/docs/File Format/Data Pages/encryption.md
b/content/en/docs/File Format/Data Pages/encryption.md
index 4cee0ed..1b89073 100644
--- a/content/en/docs/File Format/Data Pages/encryption.md
+++ b/content/en/docs/File Format/Data Pages/encryption.md
@@ -1,4 +1,5 @@
---
+title: "Encryption"
linkTitle: "Encryption"
weight: 1
---
diff --git a/content/en/docs/File Format/Types/Geospatial.md
b/content/en/docs/File Format/Types/Geospatial.md
index 9b348b4..5570fda 100644
--- a/content/en/docs/File Format/Types/Geospatial.md
+++ b/content/en/docs/File Format/Types/Geospatial.md
@@ -1,4 +1,5 @@
---
+title: "Geospatial Type"
linkTitle: "Geospatial Type"
weight: 5
---
diff --git a/content/en/docs/File Format/Types/VariantEncoding.md
b/content/en/docs/File Format/Types/VariantEncoding.md
index c3491d6..e3e66af 100644
--- a/content/en/docs/File Format/Types/VariantEncoding.md
+++ b/content/en/docs/File Format/Types/VariantEncoding.md
@@ -1,4 +1,5 @@
---
+title: "Variant Type"
linkTitle: "Variant Type"
weight: 5
---
diff --git a/content/en/docs/File Format/Types/VariantShredding.md
b/content/en/docs/File Format/Types/VariantShredding.md
index ce476b0..ba6069a 100644
--- a/content/en/docs/File Format/Types/VariantShredding.md
+++ b/content/en/docs/File Format/Types/VariantShredding.md
@@ -1,4 +1,5 @@
---
+title: "Variant Shredding"
linkTitle: "Variant Shredding"
weight: 5
---
diff --git a/content/en/docs/File Format/Types/logicaltypes.md
b/content/en/docs/File Format/Types/logicaltypes.md
index 3153b68..c57a7be 100644
--- a/content/en/docs/File Format/Types/logicaltypes.md
+++ b/content/en/docs/File Format/Types/logicaltypes.md
@@ -1,4 +1,5 @@
---
+title: "Logical Types"
linkTitle: "Logical Types"
weight: 5
---
diff --git a/content/en/docs/File Format/binaryprotocolextensions.md
b/content/en/docs/File Format/binaryprotocolextensions.md
index 21da480..ee5408f 100644
--- a/content/en/docs/File Format/binaryprotocolextensions.md
+++ b/content/en/docs/File Format/binaryprotocolextensions.md
@@ -1,4 +1,5 @@
---
+title: "Binary Protocol Extensions"
linkTitle: "Binary Protocol Extensions"
weight: 1
---
diff --git a/content/en/docs/File Format/bloomfilter.md b/content/en/docs/File
Format/bloomfilter.md
index 97443c1..28e625d 100644
--- a/content/en/docs/File Format/bloomfilter.md
+++ b/content/en/docs/File Format/bloomfilter.md
@@ -1,4 +1,5 @@
---
+title: "Bloom Filter"
linkTitle: "Bloom Filter"
weight: 7
---
diff --git a/content/en/docs/File Format/pageindex.md b/content/en/docs/File
Format/pageindex.md
index ecd8a9a..1161f6b 100644
--- a/content/en/docs/File Format/pageindex.md
+++ b/content/en/docs/File Format/pageindex.md
@@ -1,4 +1,5 @@
---
+title: "Page Index"
linkTitle: "Page Index"
weight: 7
---
diff --git a/hugo.toml b/hugo.toml
index 347fb93..9938313 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -103,7 +103,9 @@ github_branch = "production"
# gcs_engine_id = "7e3f91e3eadecceaa"
# Enable Lunr.js offline search
-offlineSearch = false
+offlineSearch = true
+offlineSearchMaxResults = 25
+offlineSearchSummaryLength = 200
# Enable syntax highlighting and copy buttons on code blocks with Prism
prism_syntax_highlighting = false
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
new file mode 100644
index 0000000..15add9e
--- /dev/null
+++ b/layouts/partials/scripts.html
@@ -0,0 +1,66 @@
+{{/*
+ Project-level override of Docsy's layouts/_partials/scripts.html
+
+ Why this file exists:
+ Removes the Algolia DocSearch JS block (cdn.jsdelivr.net) which is blocked
+ by Apache's CSP. Also removes the markmap-autoloader CDN reference since
+ markmap is not enabled on this site.
+
+ See: https://github.com/apache/parquet-site/issues/163
+*/ -}}
+{{ $needKaTeX := or .Params.math .Site.Params.katex.enable .Params.chem
.Site.Params.chem (.Page.Store.Get "hasKaTeX") (.Page.Store.Get "hasmhchem") -}}
+{{ $needmhchem := or .Params.chem .Site.Params.katex.mhchem.enable
(.Page.Store.Get "hasmhchem") -}}
+
+{{/* markmap block removed — it loads from cdn.jsdelivr.net which is blocked
+ by Apache's CSP, and markmap is not enabled on this site anyway. */ -}}
+
+{{ if .Site.Params.plantuml.enable -}}
+ <script src='{{ "js/deflate.js" | relURL }}'></script>
+{{ end -}}
+
+{{ if $needKaTeX -}}
+ {{ partial "scripts/katex.html" (dict "mhchem" $needmhchem) -}}
+{{ end -}}
+
+{{ $jsBs := resources.Get "vendor/bootstrap/dist/js/bootstrap.bundle.js" -}}
+{{ $jsBase := resources.Get "js/base.js" -}}
+{{ $jsSearch := resources.Get "js/search.js" | resources.ExecuteAsTemplate
"js/search.js" .Site.Home -}}
+{{ $jsMarkmap := resources.Get "js/markmap.js" | resources.ExecuteAsTemplate
"js/markmap.js" . -}}
+{{ $jsPlantuml := resources.Get "js/plantuml.js" | resources.ExecuteAsTemplate
"js/plantuml.js" . -}}
+{{ $jsDrawio := resources.Get "js/drawio.js" | resources.ExecuteAsTemplate
"js/drawio.js" . -}}
+{{ if .Site.Params.offlineSearch -}}
+ {{ $jsSearch = resources.Get "js/offline-search.js" -}}
+{{ end -}}
+
+{{ $jsArray := slice $jsBs $jsBase $jsSearch $jsPlantuml $jsMarkmap $jsDrawio
-}}
+
+{{ if .Page.Store.Get "hasmermaid" -}}
+{{- partial "scripts/mermaid.html" . -}}
+{{ end -}}
+
+{{ if .Site.Params.ui.showLightDarkModeMenu -}}
+ {{ $jsArray = $jsArray | append (resources.Get "js/dark-mode.js") -}}
+{{ end -}}
+
+{{ $js := $jsArray | resources.Concat "js/main.js" -}}
+{{ if hugo.IsProduction -}}
+ {{ $js := $js | minify | fingerprint -}}
+ <script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}"
crossorigin="anonymous"></script>
+{{ else -}}
+ <script src="{{ $js.RelPermalink }}"></script>
+{{ end -}}
+
+{{ if .Site.Params.prism_syntax_highlighting -}}
+ <script src='{{ "js/prism.js" | relURL }}'></script>
+{{ else if ( not .Site.Params.disable_click2copy_chroma ) -}}
+ {{ $c2cJS := resources.Get "js/click-to-copy.js" -}}
+ {{ if hugo.IsProduction -}}
+ {{ $c2cJS = $c2cJS | minify | fingerprint -}}
+ {{ end -}}
+ <script defer src="{{ $c2cJS.RelPermalink }}" {{ with $c2cJS.Data.Integrity
-}}
+ integrity="{{ . }}" {{ end -}}
+ crossorigin="anonymous"></script>
+{{ end -}}
+
+<script src='{{ "js/tabpane-persist.js" | relURL }}'></script>
+{{ partial "hooks/body-end.html" . -}}