google/comprehensive-rust

404 page breaks translations

开放

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

 (3 条评论) (0 个反应) (0 位负责人)Rust (2,009 个派生)batch import
buggood first issue

仓库指标

星标
 (32,954 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南