summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Fujino2023-06-16 00:15:16 +0900
committerGitHub2023-06-15 17:15:16 +0200
commit54905c502c5e6de5516e36ddcd4969893572baa5 (patch)
treee30424e98086a45d93f9ea1ce80ce848dcde5e5d
parent8b61a18afdd3a5cfdd5775fcc699cf6ef799a957 (diff)
downloadIT.starlight-54905c502c5e6de5516e36ddcd4969893572baa5.tar.gz
IT.starlight-54905c502c5e6de5516e36ddcd4969893572baa5.tar.bz2
IT.starlight-54905c502c5e6de5516e36ddcd4969893572baa5.zip
Encode heading id when finding current link (#216)
-rw-r--r--.changeset/orange-moose-impress.md5
-rw-r--r--packages/starlight/components/TableOfContents/starlight-toc.ts2
2 files changed, 6 insertions, 1 deletions
diff --git a/.changeset/orange-moose-impress.md b/.changeset/orange-moose-impress.md
new file mode 100644
index 00000000..9aa06f0e
--- /dev/null
+++ b/.changeset/orange-moose-impress.md
@@ -0,0 +1,5 @@
+---
+"@astrojs/starlight": patch
+---
+
+Encode heading id when finding current link
diff --git a/packages/starlight/components/TableOfContents/starlight-toc.ts b/packages/starlight/components/TableOfContents/starlight-toc.ts
index f327ff71..ffe7d68e 100644
--- a/packages/starlight/components/TableOfContents/starlight-toc.ts
+++ b/packages/starlight/components/TableOfContents/starlight-toc.ts
@@ -60,7 +60,7 @@ export class StarlightTOC extends HTMLElement {
if (!isIntersecting) continue;
const heading = getElementHeading(target);
if (!heading) continue;
- const link = links.find((link) => link.hash === '#' + heading.id);
+ const link = links.find((link) => link.hash === '#' + encodeURIComponent(heading.id));
if (link) {
this.current = link;
break;