What happens
Pages in jellyrock/jellyrock docs/user/ link to each other GitHub-style, e.g. [Manage Subtitles](manage-subtitles.md). fetch-docs.mjs copies the markdown unchanged, so the built HTML keeps href="manage-subtitles.md".
Starlight serves each page at a directory URL (/manage-subtitles/). From /jellyfin-server-plugins/, that href resolves to /jellyfin-server-plugins/manage-subtitles.md.
Verified
A local build served with a plain static server (python3 -m http.server on user-docs/dist):
| URL |
Status |
/jellyfin-server-plugins/ |
200 |
/jellyfin-server-plugins/manage-subtitles.md (what the link points to) |
404 |
/manage-subtitles/ (the real page) |
200 |
Not verified on the live server: no page currently deployed there contains a relative .md link, and the VPS web server config may rewrite URLs differently.
Affected pages
Existing: deep-linking.md (../dev/deep-linking.md), playback-troubleshooting.md (../dev/debug-flags.md). The server plugins doc rework on jellyrock branch feat/750-subtitle-download adds more links between user pages (manage-subtitles.md, media-segments.md, jellyfin-server-feature-matrix.md, app-settings.md#…).
Suggested fix
Rewrite relative .md links at build time so the source markdown stays correct on GitHub, e.g. in copyMarkdownWithFrontmatter or with a remark plugin: x.md → ../x/, keeping #anchors. Links into ../dev/ point at the dev docs site and need that site's URL rather than a relative path.
What happens
Pages in
jellyrock/jellyrockdocs/user/link to each other GitHub-style, e.g.[Manage Subtitles](manage-subtitles.md).fetch-docs.mjscopies the markdown unchanged, so the built HTML keepshref="manage-subtitles.md".Starlight serves each page at a directory URL (
/manage-subtitles/). From/jellyfin-server-plugins/, that href resolves to/jellyfin-server-plugins/manage-subtitles.md.Verified
A local build served with a plain static server (
python3 -m http.serveronuser-docs/dist):/jellyfin-server-plugins//jellyfin-server-plugins/manage-subtitles.md(what the link points to)/manage-subtitles/(the real page)Not verified on the live server: no page currently deployed there contains a relative
.mdlink, and the VPS web server config may rewrite URLs differently.Affected pages
Existing:
deep-linking.md(../dev/deep-linking.md),playback-troubleshooting.md(../dev/debug-flags.md). The server plugins doc rework on jellyrock branchfeat/750-subtitle-downloadadds more links between user pages (manage-subtitles.md,media-segments.md,jellyfin-server-feature-matrix.md,app-settings.md#…).Suggested fix
Rewrite relative
.mdlinks at build time so the source markdown stays correct on GitHub, e.g. incopyMarkdownWithFrontmatteror with a remark plugin:x.md→../x/, keeping#anchors. Links into../dev/point at the dev docs site and need that site's URL rather than a relative path.