Установить подкаталог в качестве корня веб-сайта на страницах 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, а также функцию автоматического создания страниц.
Ответы
Ответ 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