1

编辑:韦兰的回答成功了!谢谢!

我正在尝试压缩 .html 文档文件以发送给客户。目标是获得与浏览实际网站相同的体验。

在此处输入图像描述

打开 .html 文件时,单击的任何链接都会转到父文件夹,而不是特定的 .html。例如,如果我单击配置页面的链接,它会将我带到这个父文件夹(如图所示),其中包含指向实际页面的 index.html。这仅在我浏览 .html 文件时发生在我的本地实例中——而不是在我浏览构建的 .md(使用 MkDocs)时发生。

  • macOS 卡塔利娜,10.15.3
  • 文档
  • 降价
4

1 回答 1

4

您可能想use_directory_urls: falsemkdocs.yml配置文件中进行设置。

您看到的行为基于 Web 服务器的一项功能。如果您请求一个目录(例如/foo/),那么服务器将返回该目录中的索引页(/foo/index.html)。MkDocs 利用这个特性来提供“漂亮的 URL”(没有文件扩展名的 URL)。

因此,在构建站点时,MkDocs 会将每个页面转换为目录中的索引文件,并且还将重写所有内部链接以指向这些位置。只要页面托管在配置为提供索引页面的服务器上(大多数默认情况下),这不是问题。

但是,如果您在没有 Web 服务器的情况下在本地浏览文件,或者碰巧正在使用未配置为处理索引文件的服务器,那么您将看到您得到的行为。你有两个选择:

  1. 使用正确配置的服务器。
  2. 使用 MkDoc 的use_directory_urls配置设置关闭该功能。

要执行后者,请将以下内容添加到您的mkdocs.yml配置文件中:

use_directory_urls: false

然后用mkdocs build. 现在您的页面将不再是索引文件。

请注意,虽然这允许您在没有服务器的情况下浏览文件(使用file:///),但由于浏览器安全策略,搜索将不再在 MkDocs 站点中工作。因此,建议您始终使用服务器。这也解释了为什么默认配置需要服务器。

于 2020-02-22T22:09:05.213 回答