编辑:韦兰的回答成功了!谢谢!
我正在尝试压缩 .html 文档文件以发送给客户。目标是获得与浏览实际网站相同的体验。
打开 .html 文件时,单击的任何链接都会转到父文件夹,而不是特定的 .html。例如,如果我单击配置页面的链接,它会将我带到这个父文件夹(如图所示),其中包含指向实际页面的 index.html。这仅在我浏览 .html 文件时发生在我的本地实例中——而不是在我浏览构建的 .md(使用 MkDocs)时发生。
- macOS 卡塔利娜,10.15.3
- 文档
- 降价
编辑:韦兰的回答成功了!谢谢!
我正在尝试压缩 .html 文档文件以发送给客户。目标是获得与浏览实际网站相同的体验。
打开 .html 文件时,单击的任何链接都会转到父文件夹,而不是特定的 .html。例如,如果我单击配置页面的链接,它会将我带到这个父文件夹(如图所示),其中包含指向实际页面的 index.html。这仅在我浏览 .html 文件时发生在我的本地实例中——而不是在我浏览构建的 .md(使用 MkDocs)时发生。
您可能想use_directory_urls: false
在mkdocs.yml
配置文件中进行设置。
您看到的行为基于 Web 服务器的一项功能。如果您请求一个目录(例如/foo/
),那么服务器将返回该目录中的索引页(/foo/index.html
)。MkDocs 利用这个特性来提供“漂亮的 URL”(没有文件扩展名的 URL)。
因此,在构建站点时,MkDocs 会将每个页面转换为目录中的索引文件,并且还将重写所有内部链接以指向这些位置。只要页面托管在配置为提供索引页面的服务器上(大多数默认情况下),这不是问题。
但是,如果您在没有 Web 服务器的情况下在本地浏览文件,或者碰巧正在使用未配置为处理索引文件的服务器,那么您将看到您得到的行为。你有两个选择:
要执行后者,请将以下内容添加到您的mkdocs.yml
配置文件中:
use_directory_urls: false
然后用mkdocs build
. 现在您的页面将不再是索引文件。
请注意,虽然这允许您在没有服务器的情况下浏览文件(使用file:///
),但由于浏览器安全策略,搜索将不再在 MkDocs 站点中工作。因此,建议您始终使用服务器。这也解释了为什么默认配置需要服务器。