Как настроить 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:

  1. из вашей рабочей папки git init
  2. git remote add origin git@github.com:userName/userName.github.io.git (УО) или git remote add origin git@github.com:userName/repositoryName.git (P)
  3. jekyll new . создает базу кода
  4. на _config.в формате YML, выберите baseurl до baseurl: '' (УО) или baseurl: '/repositoryName' (P)
  5. на .gitignore добавить _site, он будет версионным в другой ветви
  6. jekyll build создать папку и создать сайт.
  7. git checkout -b sources (УО) или git checkout master (P)
  8. git add -A
  9. git commit -m "jekyll base sources" зафиксируйте исходный код
  10. git push origin sources (УО) или git push origin master (P) нажмите ваши источники в соответствующая ветвь
  11. cd _site
  12. touch .nojekyll, этот файл сообщает GH-страницам, что нет необходимости строить
  13. git init init репозиторий
  14. git remote add origin git@github.com:userName/userName.github.io.git (УО) или git remote add origin git@github.com:userName/repositoryName.git (P)
  15. git checkout master (УО) или git checkout -b gh-pages (P) поместите этот репозиторий в соответствующую ветку
  16. git add -A
  17. git commit -m "jekyll first build" зафиксировать ваш сайт код
  18. 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

шаги развертывания (после каждого нажатия):

  1. Build будет создан с помощью нашего пользовательского скрипт script/cibuild на _site каталог
  2. _site будут gh-pages филиала.
  3. страницы github будут служить сайту, как он есть, не строя его снова (из-за )

ссылки: мой репозиторий https://github.com/armujahid/armujahid.me/ использует этот метод для непрерывной интеграции с помощью Travis CI