Почему мои локальные html ссылки идут в родительскую папку вместо. html? - PullRequest
0 голосов
/ 22 февраля 2020

РЕДАКТИРОВАТЬ: ответ Waylan добился цели! Спасибо!

Я пытаюсь заархивировать html файлы документов для отправки клиенту. Цель состоит в том, чтобы иметь тот же опыт, что и при навигации по реальному веб-сайту.

enter image description here

При открытии файлов. html любая нажатая ссылка идет в родительскую папку, скорее чем указано c. html. Например, если я нажму на ссылку для страницы конфигурации, она приведет меня к этой родительской папке (показанной на рисунке) с индексом. html к реальной странице. Это происходит только в моем локальном экземпляре, когда я просматриваю файлы. html, а не когда я перемещаюсь по встроенному .md (используя MkDocs).

  • macOS Catalina, 10.15 .3
  • MkDocs
  • Уценка

1 Ответ

1 голос
/ 23 февраля 2020

Возможно, вы хотите установить use_directory_urls: false в вашем файле конфигурации mkdocs.yml.

Поведение, которое вы видите, основано на функции веб-серверов. Если вы запросите каталог (например, /foo/), то сервер вернет страницу индекса в этом каталоге (/foo/index.html). MkDocs использует эту функцию для предоставления «красивых URL» (URL, которые не имеют расширений файлов).

Поэтому при создании сайта MkDocs преобразует каждую страницу в индексный файл в каталоге, а также перепишите все внутренние ссылки, чтобы указать на эти места. Пока страницы размещены на сервере, который настроен для обслуживания индексных страниц (большинство из них по умолчанию), это не проблема.

Однако, если вы просматриваете файлы локально без веб-сервера или Если вы используете сервер, который не настроен для обработки индексных файлов, то вы увидите поведение, которое вы получаете. У вас есть два варианта:

  1. Использовать правильно настроенный сервер.
  2. Отключить функцию с помощью MkDo c ' use_directory_urls настройка конфигурации.

Чтобы сделать последнее, добавьте в ваш файл конфигурации mkdocs.yml следующее:

use_directory_urls: false

Затем перестройте сайт с помощью mkdocs build. Теперь все ваши страницы не будут индексными файлами.

Обратите внимание, что, хотя это позволяет просматривать файлы без сервера (используя file:///), из-за политик безопасности браузера поиск больше не будет работать в MkDocs. сайт. Поэтому рекомендуется всегда использовать сервер. Это также объясняет, почему конфигурация по умолчанию ожидает сервер.

...