Подтвердить что ты не робот

Могу ли я иметь Github Pages index.html в подпапке репозитория?

Я пытаюсь использовать страницы Github для размещения сайта Doxygen. В идеале, я хотел бы иметь возможность подталкивать сгенерированные файлы и каталоги к Github без необходимости их настройки. Это, однако, означает, что мой index.html находится в подпапке репозитория, а Github Pages не подбирает его (я получаю 404, когда пытаюсь получить доступ к сайту Pages). Есть ли способ заставить Github распознавать этот index.html, когда он находится в подпапке? Это сайт проекта.

4b9b3361

Ответ 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, вам необходимо:

  1. Создайте файл .nojekyll в корне вашей ветки gh-pages
  2. Убедитесь, что вы удалили .png, .html и аналогичные файлы из своего файла .gitignore
  3. И наконец, создайте файл 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>
    

Рекомендации:

  1. GitHub Pages (github.io) страница, сгенерированная doxygen, не найдена (404)
  2. Как автоматически сгенерировать документацию по Doxygen с использованием Travis
  3. Автоматическое развертывание документации Doxygen на gh-страницах с Travis CI
  4. https://help.github.com/categories/github-pages-basics/
  5. Публикуйте документацию по вашему проекту на страницах GitHub
  6. Как сделать вступительную страницу с Doxygen

Ответ 6

попробуйте передать ваш файл index.html и все его зависимости в новый репозиторий, а затем использовать этот репозиторий в качестве подмодуля в вашем текущем репо. В настоящее время github-pages рассчитывает найти файл index.html в корне вашего репо, который он не может.

например. скажем, ваше текущее репо - это "тест". Вы создаете новое сообщение репо, "веб-сайт", переносите свой .html и другие файлы, которые требуются для репозитория "веб-сайт". Теперь вам нужно использовать репозиторий "website" в качестве подмодуля внутри репозитория "test".

note: в приведенной выше схеме вам нужно использовать только имя ветки gh-pages в репозитории вашего сайта, а "test" все равно может сохранить основную ветвь.

небольшое учебное пособие по git подмодули