Использование дополнительного CSS-файла с Mkdocs, размещенного в ReadTheDocs - PullRequest
0 голосов
/ 09 июля 2019

Я написал несколько собственных CSS, которые я хотел бы включить в сайт Mkdocs, размещенный на ReadTheDocs.Он не работает, потому что RTD не обслуживает файл CSS.

У меня есть файл .readthedocs.yml, который просит RTD использовать Mkdocs:

version: 2
mkdocs:
  configuration: .mkdocs.yml

Мой .mkdocs.yml файл ссылается наТот факт, что я использую пользовательский файл CSS:

docs_dir: my-docs-directory
theme:
  name: 'material'
extra_css:
  - '.mkdocs.material.css'

ReadTheDocs сообщает, что документы построены нормально, но когда я загружаю их, пользовательский CSS не действует.Если я открываю консоль браузера, я вижу эту ошибку:

Отказался от применения стиля из 'https://private -site.readthedocs-hosted.com / en / latest / .mkdocs.material.css 'потому что его тип MIME (' text / html ') не является поддерживаемым типом MIME таблицы стилей, и включена строгая проверка MIME.

Если я открою URL-адрес файла CSS в его собственномВкладка Я вижу страницу «404 - Не найдено».

Я пытался включить CSS-файл как в корневой каталог (где .readthedocs.yml и .mkdocs.yml live), так и в каталог моей документации (my-docs-directory), нони одна из них не работает.

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

Пожалуйста, помогите!Спасибо!

1 Ответ

2 голосов
/ 09 июля 2019

Я считаю, что эта проблема связана с точкой в ​​начале .mkdocs.material.css. Похоже, что MkDocs (mkdocs build, я использовал MkDocs v1.0) не будет копировать скрытые файлы - точка в начале обозначает скрытый файл в системах Unix - в выходной каталог. Я думаю, что если вы переименуете файл в mkdocs.material.css без начальной точки и обновите ссылку в вашем mkdocs.yml, он должен работать.

Более загадочное сообщение об ошибке, которое вы видите в Read the Docs (Refused to apply style ...), связано с тем, что тег link (<link>) к файлу CSS все еще генерируется в выводе сборки, но MkDocs фактически не копировал файл CSS потому что это было скрыто. В результате он выдает 404. Read Docs отправляет заголовок, указывающий браузерам выполнять строгую проверку MIME, что является важной мерой безопасности при обработке загруженных пользователем файлов. Поскольку есть ссылка на файл CSS, но ответом является 404 с HTML, браузер отклоняет стиль.

...