summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiDeoo2025-01-06 23:38:53 +0100
committerGitHub2025-01-06 23:38:53 +0100
commit0e169c9fd9fbfc16d86225db6b00448edf39ffad (patch)
tree175954d6b24d2ab4743d61ebea28ccfed85a53e1
parent474c27e28d79794ac78d36e3384f0c0da6f2dfed (diff)
downloadIT.starlight-0e169c9fd9fbfc16d86225db6b00448edf39ffad.tar.gz
IT.starlight-0e169c9fd9fbfc16d86225db6b00448edf39ffad.tar.bz2
IT.starlight-0e169c9fd9fbfc16d86225db6b00448edf39ffad.zip
Fix pagefind data attribute (#2740)
-rw-r--r--.changeset/olive-hairs-battle.md5
-rw-r--r--packages/starlight/components/Page.astro15
2 files changed, 14 insertions, 6 deletions
diff --git a/.changeset/olive-hairs-battle.md b/.changeset/olive-hairs-battle.md
new file mode 100644
index 00000000..9953d1b3
--- /dev/null
+++ b/.changeset/olive-hairs-battle.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/starlight': patch
+---
+
+Fixes an issue preventing Pagefind to be disabled using the `pagefind` frontmatter field.
diff --git a/packages/starlight/components/Page.astro b/packages/starlight/components/Page.astro
index c1c7406f..82f37b06 100644
--- a/packages/starlight/components/Page.astro
+++ b/packages/starlight/components/Page.astro
@@ -36,13 +36,16 @@ const pagefindEnabled =
!Astro.props.entry.slug.endsWith('/404') &&
Astro.props.entry.data.pagefind !== false;
-const dataAttributes: DOMStringMap = { 'data-theme': 'dark' };
-if (Boolean(Astro.props.toc)) dataAttributes['data-has-toc'] = '';
-if (Astro.props.hasSidebar) dataAttributes['data-has-sidebar'] = '';
-if (Boolean(Astro.props.entry.data.hero)) dataAttributes['data-has-hero'] = '';
+const htmlDataAttributes: DOMStringMap = { 'data-theme': 'dark' };
+if (Boolean(Astro.props.toc)) htmlDataAttributes['data-has-toc'] = '';
+if (Astro.props.hasSidebar) htmlDataAttributes['data-has-sidebar'] = '';
+if (Boolean(Astro.props.entry.data.hero)) htmlDataAttributes['data-has-hero'] = '';
+
+const mainDataAttributes: DOMStringMap = {};
+if (pagefindEnabled) mainDataAttributes['data-pagefind-body'] = '';
---
-<html lang={Astro.props.lang} dir={Astro.props.dir} {...dataAttributes}>
+<html lang={Astro.props.lang} dir={Astro.props.dir} {...htmlDataAttributes}>
<head>
<Head {...Astro.props} />
<style>
@@ -82,7 +85,7 @@ if (Boolean(Astro.props.entry.data.hero)) dataAttributes['data-has-hero'] = '';
<TwoColumnContent {...Astro.props}>
<PageSidebar slot="right-sidebar" {...Astro.props} />
<main
- data-pagefind-body={pagefindEnabled}
+ {...mainDataAttributes}
lang={Astro.props.entryMeta.lang}
dir={Astro.props.entryMeta.dir}
>