Я пытаюсь использовать страницы Github для размещения сайта Doxygen. В идеале, я хотел бы иметь возможность подталкивать сгенерированные файлы и каталоги к Github без необходимости их настройки. Это, однако, означает, что мой index.html находится в подпапке репозитория, а Github Pages не подбирает его (я получаю 404, когда пытаюсь получить доступ к сайту Pages). Есть ли способ заставить Github распознавать этот index.html, когда он находится в подпапке? Это сайт проекта.
Могу ли я иметь Github Pages index.html в подпапке репозитория?
Ответ 1
Создайте фиктивный index.html в корне и поместите его в заголовок:
<meta http-equiv="refresh" content="0" url="https://repo.github.io/folder/index.html" />
Обязательно измените целевой URL. Это мгновенно перенаправит из index.html в вашу папку /index.html.
Ответ 2
Возможно, вы хотите нажать поддерево. Например, скажем, у вас есть каталог build/dist
и там создан сайт Doxygen.
После создания обязательно сделайте все изменения в этой папке, сделайте следующее.
git subtree push --prefix build/dist origin gh-pages
Важно, чтобы в ветке gh-pages
у вас ничего не было, на локальном или происхождении.
все кредиты: https://gist.github.com/cobyism/4730490
Изначально я также думал о перенаправлении. Но перенаправления чувствуют, что код пахнет, даже перенаправляет http. Хотя иногда это неизбежно, здесь может быть более чистое решение, возможно, то, что вы ищете.
Ответ 3
Теперь у вас есть возможность использовать /docs
папку ветки master
в качестве корня вашего веб-сайта github.
Ответ 4
Ответ Дэвида Жакеля потрясающий.
Но если вы пытаетесь обслуживать весь свой личный блог SPA из папки /dist
или /build
страниц github, как я, то есть прекрасный грязный взлом Рафаэля Педичини: https://github.com/rafrex/spa-github- страницы
Он предлагает вам создать страницу прокси index.html
и пользовательскую страницу 404.html
. Если ваш пользователь вводит прямой URL-адрес подстраницы, например, https://example.github.io/blog/, сервер страниц github будет обслуживать 404.html
со сценариями, которые передают URL-адрес в виде набора параметров в прокси index.html, который запускает СПА.
Я бы не стал дублировать его код здесь, так как он может со временем измениться.
Ответ 5
Чтобы использовать Doxygen
и gh-pages
, вам необходимо:
- Создайте файл
.nojekyll
в корне вашей веткиgh-pages
- Убедитесь, что вы удалили
.png
,.html
и аналогичные файлы из своего файла.gitignore
-
И наконец, создайте файл
index.html
в корне вашего проекта:<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="1;url=html/index.html"> <title>Page Redirection</title> </head> <body> If you are not redirected automatically, follow the <a href="html/index.html">link to the documentation</a> </body> </html>
Рекомендации:
- GitHub Pages (github.io) страница, сгенерированная doxygen, не найдена (404)
- Как автоматически сгенерировать документацию по Doxygen с использованием Travis
- Автоматическое развертывание документации Doxygen на gh-страницах с Travis CI
- https://help.github.com/categories/github-pages-basics/
- Публикуйте документацию по вашему проекту на страницах GitHub
- Как сделать вступительную страницу с Doxygen
Ответ 6
попробуйте передать ваш файл index.html и все его зависимости в новый репозиторий, а затем использовать этот репозиторий в качестве подмодуля в вашем текущем репо. В настоящее время github-pages рассчитывает найти файл index.html в корне вашего репо, который он не может.
например. скажем, ваше текущее репо - это "тест". Вы создаете новое сообщение репо, "веб-сайт", переносите свой .html и другие файлы, которые требуются для репозитория "веб-сайт". Теперь вам нужно использовать репозиторий "website" в качестве подмодуля внутри репозитория "test".
note: в приведенной выше схеме вам нужно использовать только имя ветки gh-pages в репозитории вашего сайта, а "test" все равно может сохранить основную ветвь.
небольшое учебное пособие по git подмодули