Как настроить GitHub для использования не поддерживаемых плагинов сайта Jekyll?
Я только что создал отличную галерею для моего блога Jekyll, который отлично строится на моем localhost:4000. Однако страницы GitHub не поддерживают подключаемый модуль Jekyll Gallery Generator, который я использую:https://github.com/ggreer/jekyll-gallery-generator
Я читал об альтернативном методе размещения Jekyll на традиционном хосте с использованием FTP (загрузка каталога _site) http://jekyllrb.com/docs/deployment-methods/ однако, вместо того, чтобы перенастроить мой весь сайт и хостинг, было бы здорово, если бы страницы GitHub можно было использовать как-то, даже если я использую не поддерживаемый плагин.
Что есть обходной путь для этого?
2 ответов
в зависимости от того, имеете ли вы дело с пользователем / организацией (УО) сайт или сайт проекта (P), do:
- из вашей рабочей папки
git init
-
git remote add origin git@github.com:userName/userName.github.io.git
(УО) илиgit remote add origin git@github.com:userName/repositoryName.git
(P) -
jekyll new .
создает базу кода - на _config.в формате YML, выберите baseurl до
baseurl: ''
(УО) илиbaseurl: '/repositoryName'
(P) - на .gitignore добавить _site, он будет версионным в другой ветви
-
jekyll build
создать папку и создать сайт. -
git checkout -b sources
(УО) илиgit checkout master
(P) git add -A
-
git commit -m "jekyll base sources"
зафиксируйте исходный код -
git push origin sources
(УО) илиgit push origin master
(P) нажмите ваши источники в соответствующая ветвь cd _site
-
touch .nojekyll
, этот файл сообщает GH-страницам, что нет необходимости строить -
git init
init репозиторий -
git remote add origin git@github.com:userName/userName.github.io.git
(УО) илиgit remote add origin git@github.com:userName/repositoryName.git
(P) -
git checkout master
(УО) илиgit checkout -b gh-pages
(P) поместите этот репозиторий в соответствующую ветку git add -A
-
git commit -m "jekyll first build"
зафиксировать ваш сайт код -
git push origin master
(УО) илиgit push origin gh-pages
(P)
теперь у вас есть что-то вроде Octopress делает. Посмотрите на их файл Rake, есть некоторые хорошие комментарии.
лучший способ-настроить Travis для автоматизации развертывания jekyll с не поддерживаемыми плагинами. Следуйте за Тревис приступая к работе руководство для включения Travis для вашего РЕПО.
создать script/cibuild
следующего содержания
#!/usr/bin/env bash
set -e # halt script on error
bundle exec jekyll build
touch ./_site/.nojekyll # this file tells gh-pages that there is no need to build
создать .travis.yml
со следующим содержимым (изменить по мере необходимости)
language: ruby
rvm:
- 2.3.3
before_script:
- chmod +x ./script/cibuild # or do this locally and commit
# Assume bundler is being used, therefore
# the `install` step will run `bundle install` by default.
script: ./script/cibuild
# branch whitelist, only for GitHub Pages
branches:
only:
- master
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
sudo: false # route your build to the container-based infrastructure for a faster build
deploy:
provider: pages
skip_cleanup: true
keep-history: true
local_dir: _site/ # deploy this directory containing final build
github_token: $GITHUB_API_KEY # Set in travis-ci.org dashboard
on:
branch: master
шаги развертывания (после каждого нажатия):
- Build будет создан с помощью нашего пользовательского скрипт
script/cibuild
на_site
каталог -
_site
будутgh-pages
филиала. - страницы github будут служить сайту, как он есть, не строя его снова (из-за )
ссылки: мой репозиторий https://github.com/armujahid/armujahid.me/ использует этот метод для непрерывной интеграции с помощью Travis CI