google/comprehensive-rust

404 page breaks translations

Open

#2,022 创建于 2024年4月22日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Rust (32,954 star) (2,009 fork)batch import
buggood first issue

描述

When you call mdbook build, you automatically get a 404.html page in the root of the output directory.

Since we run mdbook build for each translation, we end up with a structure like

/404.html
/da/404.html
/de/404.html
...

The root 404.html page is automatically used by GitHub Pages when a page cannot be found. Note that the URL doesn't change: the content of 404.html is simply returned to the browser.

Now, this doesn't work well with our translations: you end up with the English 404.html regardless of which translation you're currently viewing. We should fix this so that people get the correct version. The output.html.input-404 setting is for that.

Simply setting this is not enough: GitHub Pages doesn't know anything about the translation sub-directories, so it will continue to show people the root 404.html page. I think we can fix this by injecting a bit of JavaScript into the 404.md file which mdbook build uses to generate the 404.html page.

贡献者指南

404 page breaks translations · google/comprehensive-rust#2022 | Good First Issue