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

Установить подкаталог в качестве корня веб-сайта на страницах Github

Я использую Github Pages для размещения и обслуживания статического веб-сайта.

Статический веб-сайт имеет типичную структуру каталогов для приложения:

|_ source
|_ build
   |_index.html
 .gitignore
 config.rb
 Gemfile
 ...
 README.MD

index.html находится под build/, поэтому я хочу сделать этот путь по умолчанию www.

Поэтому, когда пользователи нажимают username.github.io, он отображает содержимое в пределах этого подкаталога, и все же он не показывает "/build" /на URL-адресе, поэтому установите его как корневую папку.

Примечания:

  • У меня нет настраиваемого домена и не планируется его для этой цели. Как вы можете видеть, я пытаюсь использовать соглашение об именовании URL по умолчанию, которое предоставляет github.
  • Не использовать Jekyll, а также функцию автоматического создания страниц.
4b9b3361

Ответ 1

Существует подробное описание всех необходимых шагов.

Суть здесь:
https://gist.github.com/cobyism/4730490


Из строки

Развертывание подпапки к страницам GitHub

Иногда вы хотите, чтобы подкаталог на ветке master был корневым каталогом ветвей репозитория gh-pages. Это полезно для таких вещей, как сайты, разработанные с помощью Yeoman, или если у вас есть сайт Jekyll, содержащийся в ветке master, наряду с остальной частью ваш код.

Для этого примера давайте предположим, что вложенная папка, содержащая ваш сайт, называется dist.

Шаг 1

Удалите каталог dist из файла проектов .gitignore (его игнорирует по умолчанию Йоман).

Шаг 2

Убедитесь, что git знает о вашем поддереве (подпапка с вашим сайтом).

git add dist && git commit -m "Initial dist subtree commit"

Шаг 3

Используйте push подделки, чтобы отправить его в ветвь gh-pages на GitHub.

git subtree push --prefix dist origin gh-pages

Boom. Если ваша папка не называется dist, вам придется изменить ее в каждой из приведенных выше команд.


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

#!/bin/sh
if [ -z "$1" ]
then
  echo "Which folder do you want to deploy to GitHub Pages?"
  exit 1
fi
git subtree push --prefix $1 origin gh-pages

Что позволяет вводить команды типа:

git gh-deploy path/to/your/site

Ответ 2

Начиная с августа 2016 года, вы можете использовать подкаталог /docs ветки master для ваших источников.

Итак, если вы можете указать генератору вашего сайта использовать /docs вместо /build, вы закончите (без поддерева).

Примечание. Как указано в комментарии @thislooksfun в комментарии, это допустимо только для страниц проекта (например, <username>.github.io/<projectname>), но не для страниц пользователя или организации (например, <name>.github.io).

Ответ 3

push-dir сделает это:

npm install push-direxample
push-dir --dir=build --branch=gh-pages