ITADN

Fix incorrect language prefix in menu URLs

#1840Pull Requestleemojiang 创建于 2026-02-28
L
leemojiangcommented
**What does this PR change? What problem does it solve?** This PR fixes an issue with incorrect language prefix placement in menu URLs when using a `baseURL` that includes a subpath (e.g., `/blog/`). Previously, when using multilingual configurations (e.g., `zh` and `en`), the `zh` language prefix was incorrectly inserted before the baseURL subpath, resulting in URLs like: https://leemojiang.github.io/zh/blog/archives/ Instead of the expected: https://leemojiang.github.io/blog/zh/archives/ What changed Detect external links (http://, https://, protocol-relative) and skip Hugo internal URL rewriting for them. For internal links: Normalize menu paths by removing a leading /. Remove the baseURL subpath prefix from menu entries when present (to avoid duplicated /blog). Rebuild links using site.Home.RelPermalink + menu_path so language prefix and subpath order is always correct. Keep active menu highlighting based on normalized RelPermalink comparison to avoid false mismatches. This improves compatibility for multilingual deployments under subpaths (for example, GitHub Pages project sites). You can see an example of the fixed behavior on my blog: [https://leemojiang.github.io/blog/](https://leemojiang.github.io/blog/) --- **Was the change discussed in an issue or in the Discussions before?** Yes, this issue is related to [#1661](https://github.com/adityatelange/hugo-PaperMod/issues/1661), where users reported incorrect URL generation when using a `baseURL` with a subpath and multiple languages. A similar issue is also discussed in another theme [#682](https://github.com/CaiJimmy/hugo-theme-stack/issues/682). --- ## PR Checklist - [ ] This change adds/updates translations and I have used the [template present here](https://github.com/adityatelange/hugo-PaperMod/wiki/Translations#want-to-add-your-language-). - [x] I have enabled [maintainer edits for this PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork). - [x] I have verified that the code works as described/as intended. - [x] This change does not include any CDN resources/links. - [x] This change does not include any unrelated scripts such as bash and python scripts. - [ ] This change updates the overridden internal templates from HUGO's repository.
合并状态:未合并 1 条评论