#html #github #http-status-code-404 #relative-path #github-pages
#HTML #github #http-status-code-404 #относительный путь #github-страницы
Вопрос:
В index.html домашняя страница отображается нормально, однако любая любая ссылка выдаст 404.
На статическом веб-сайте есть папка с HTML-кодом, индексирующая ссылку на этот HTML-код с правильным путем, но отображает 404.
При переходе по этой ссылке я получил 404.
однако файл присутствует, как вы можете видеть здесь .
Я действительно бьюсь головой о простой html-pb, что расстраивает.
Комментарии:
1. проблема в следующем. Ваши файлы в папке не назначаются gh-страницам
2. Можно ли назначить их gh-страницам? Они находятся в ветке gh-pages.
Ответ №1:
Я сам столкнулся с этой проблемой и, наконец, нашел более простое решение. Проблема в том, что Jekyll игнорирует все файлы, начинающиеся с _ . Простое решение — добавить .nojekyll
файл в каталог документов.
Мой сценарий docs выглядит следующим образом:
"rimraf ./docs amp;amp; typedoc src/ --out docs --mode modules --module commonjs --target es6 --excludePrivate amp;amp; touch ./docs/.nojekyll amp;amp; gh-pages -d docs -t"
touch
это модуль npm, который создает файл, и -t
флаг on gh-pages
необходим для загрузки этого точечного файла.
Комментарии:
1. Верно, но я предпочитаю кроссплатформенное решение; особенно когда это требует небольшой дополнительной работы.
2. Но я не использую Jekyll. Я создал свой проект с помощью Webpack. Я не загружал ни одну папку, с которой начинается
_
. Каково решение в этом случае?
Ответ №2:
Хорошо, хотя я мог бы просто ответить на свой собственный вопрос здесь.
Страница Github не допускает несколько статических HTML-файлов.
Честно говоря, в их документах это не очень понятно, но решение довольно простое :
Предполагая, что ваши локальные статические документы работают правильно, просто выполните следующие действия :
установите jekyll
gem install jekyll bundler
добавьте файл _config.yml
в вашем docs
или в корне вашей gh-pages
ветки с этим содержимым:
auto: true
выполнить jekyll serve
И проверьте, работает ли это нормально на URL, выводимом в вашей консоли
добавьте _site
в свой файл .gitignore
нажимайте и бинго!
Если вы, как и я, используете typedoc для компиляции typescript в хорошую документацию, у вас возникнут проблемы.
Поскольку Jekyll автоматически исключает из сборки любые файлы, начинающиеся с _
, а typedoc генерирует ТОЛЬКО это, я написал простой генератор yeoman, который выполняет всю замену за вас.