Статические ресурсы не загружаются на страницах GitHub
Я создал веб-сайт и пытаюсь разместить его на страницах git. Мой сайт доступен по адресу
http://<username>.github.io/<project name>/
Но статические файлы для моего сайта доступны по следующему пути -
http://<username>.github.io/css/site.css
http://<username>.github.io/script/main.js
Вышеуказанный путь пропускает <project name>
Поэтому всякий раз, когда я нажимаю URL-адрес, мои статические файлы не загружаются.
Есть ли способ заставить его работать с URL-адресом github?
Примечание.. Когда я использую пользовательский домен, все работает отлично, потому что относительные пути в этом случае прекрасны.
Временное решение
Я создал страницу User вместо страницы Project, чтобы решить эту проблему.
Ответы
Ответ 1
В документации для настройки пользовательского домена:
Предупреждение: субстраты страниц проекта, например http://username.github.io/projectname не будет перенаправлен на пользовательский домен проекта.
Это означает, что из-за относительных путей вы можете либо иметь активы на username.github.io/project-name
, либо в своем пользовательском домене.
Если вы хотите, чтобы они в github проверяли, что в документации говорится о конфигурации baseurl
, она находится внизу страницы, в "Структура Url Project". Просто вам просто нужно добавить
baseurl: /project-name
в ваш _config.yml
и используйте тег {{ baseurl }}
в ваших постоянных ссылках, jekyll выполнит замены. И чтобы проверить его локально, просто запустите сервер с помощью этой опции
jekyll serve --baseurl ''
Надеюсь, что это поможет:) Счастливое кодирование!
Ответ 2
Другим вариантом является включение файла .nojekyll
в каталог верхнего уровня, который сообщает github просто обслуживать ваши страницы, пытаясь их разбить (это полезно, если вы пытаетесь опубликовать oputput из сфинкса, который делает не нужно больше разбираться/перебирать/переписывать).
релевантная ссылка