fix(sidebars): use startsWith to extract basePath instead of split#1368
Merged
fix(sidebars): use startsWith to extract basePath instead of split#1368
Conversation
String.split(doc) matched doc as a substring, so outputDir paths like "docs/test/docspace" with docPath "docs" would split on the second occurrence of "doc" inside "docspace", producing double slashes or missing path segments in generated sidebar IDs. Replacing with startsWith + substring ensures only the exact path prefix is stripped at a path boundary. Closes #1305
|
Size Change: 0 B Total Size: 2.21 MB ℹ️ View Unchanged
|
|
Visit the preview URL for this PR (updated for commit 5ecc60a): https://docusaurus-openapi-36b86--pr1368-83nmtgao.web.app (expires Wed, 29 Apr 2026 19:54:44 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: bf293780ee827f578864d92193b8c2866acd459f |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
getBasePathFromOutputusedoutput.split(doc)to strip thedocPathprefix fromoutputDir. Becausesplittreats its argument as a substring, any folder name containingdocPathas a substring (e.g.docspacewhendocPathisdocs) caused the split to fire mid-segment, producing double slashes or missing path segments in generated sidebar IDs.Before:
After:
The fix uses
startsWith(doc + "/")+substringso only an exact path-boundary prefix match strips the docPath.Test plan
outputDir: "docs/test/docspace"withdocPath: "docs"generates IDs liketest/docspace/api(no double slashes)outputDir: "docs/test/mydocs"withdocPath: "docs"generates IDs liketest/mydocs/apioutputDir: "docs/api"(standard case) is unaffectedoutputDirwithout a matchingdocPathprefix falls through to the slash-index fallback correctlyCloses #1305
🤖 Generated with Claude Code