Skip to content

Commit 9b393ec

Browse files
committed
fix(docs): fix sidebar links treated as external URLs
vitepress-sidebar generates base:"/" with links starting with "/", causing VitePress to produce protocol-relative URLs ("//path") that browsers interpret as external links. Remove the redundant base:"/" from the root sidebar group so absolute links resolve correctly.
1 parent 708d747 commit 9b393ec

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

docs/.vitepress/config.mts

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -98,29 +98,40 @@ export default defineConfig({
9898
// ]
9999
// }
100100
// ],
101-
sidebar: generateSidebar([
102-
{
103-
documentRootPath: ".",
104-
collapsed: true,
105-
useTitleFromFileHeading: true,
106-
useTitleFromFrontmatter: true,
107-
useFolderLinkFromIndexFile: true,
108-
useFolderTitleFromIndexFile: true,
109-
excludeByGlobPattern: ["news/**"],
110-
},
111-
{
112-
documentRootPath: ".",
113-
scanStartPath: "news",
114-
resolvePath: "/news/",
115-
collapsed: false,
116-
useTitleFromFileHeading: true,
117-
useTitleFromFrontmatter: true,
118-
useFolderLinkFromIndexFile: true,
119-
useFolderTitleFromIndexFile: true,
120-
sortMenusByFrontmatterDate: true,
101+
sidebar: (() => {
102+
const sidebar = generateSidebar([
103+
{
104+
documentRootPath: ".",
105+
collapsed: false,
106+
useTitleFromFileHeading: true,
107+
useTitleFromFrontmatter: true,
108+
useFolderLinkFromIndexFile: true,
109+
useFolderTitleFromIndexFile: true,
110+
excludeByGlobPattern: ["news/**"],
111+
},
112+
{
113+
documentRootPath: ".",
114+
scanStartPath: "news",
115+
resolvePath: "/news/",
116+
collapsed: false,
117+
useTitleFromFileHeading: true,
118+
useTitleFromFrontmatter: true,
119+
useFolderLinkFromIndexFile: true,
120+
useFolderTitleFromIndexFile: true,
121+
sortMenusByFrontmatterDate: true,
121122
sortMenusOrderByDescending: true,
122123
},
123-
]),
124+
]);
125+
// Fix vitepress-sidebar generating base:"/" with absolute links starting
126+
// with "/", which causes VitePress to produce protocol-relative URLs
127+
// ("//path") that are treated as external links.
128+
for (const key of Object.keys(sidebar)) {
129+
if (sidebar[key]?.base === "/") {
130+
delete sidebar[key].base;
131+
}
132+
}
133+
return sidebar;
134+
})(),
124135
socialLinks: [
125136
{ icon: "github", link: "https://github.com/robotcodedev/robotcode" },
126137
{ icon: { svg: python_svg }, link: "https://pypi.org/project/robotcode/" },

0 commit comments

Comments
 (0)