summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Swithinbank2023-05-25 13:17:15 +0200
committerChris Swithinbank2023-05-25 13:17:15 +0200
commitd8b9f3260daaceed8a31eedcc44bd00733f96254 (patch)
tree3d59d31819b59951785e7c96967a34de32ae7854
parent116c4f5eb0ddf4dddbd10005bc72a7e6cb880a67 (diff)
downloadIT.starlight-d8b9f3260daaceed8a31eedcc44bd00733f96254.tar.gz
IT.starlight-d8b9f3260daaceed8a31eedcc44bd00733f96254.tar.bz2
IT.starlight-d8b9f3260daaceed8a31eedcc44bd00733f96254.zip
Fix false positive in sidebar autogeneration logic
-rw-r--r--.changeset/metal-needles-shout.md5
-rw-r--r--packages/starlight/utils/navigation.ts8
2 files changed, 12 insertions, 1 deletions
diff --git a/.changeset/metal-needles-shout.md b/.changeset/metal-needles-shout.md
new file mode 100644
index 00000000..4ea11e12
--- /dev/null
+++ b/.changeset/metal-needles-shout.md
@@ -0,0 +1,5 @@
+---
+"@astrojs/starlight": patch
+---
+
+Fix false positive in sidebar autogeneration logic
diff --git a/packages/starlight/utils/navigation.ts b/packages/starlight/utils/navigation.ts
index ae4f918b..1d5a1764 100644
--- a/packages/starlight/utils/navigation.ts
+++ b/packages/starlight/utils/navigation.ts
@@ -65,7 +65,13 @@ function groupFromAutogenerateConfig(
): Group {
const { directory } = item.autogenerate;
const localeDir = locale ? locale + '/' + directory : directory;
- const dirDocs = routes.filter((doc) => doc.slug.startsWith(localeDir));
+ const dirDocs = routes.filter(
+ (doc) =>
+ // Match against `foo.md` or `foo/index.md`.
+ doc.slug === localeDir ||
+ // Match against `foo/anything/else.md`.
+ doc.slug.startsWith(localeDir + '/')
+ );
const tree = treeify(dirDocs, localeDir);
return {
type: 'group',