Блог на Jekyll. Развертывание на GitHub

Пока сайт доступен только локально на компьютере разработчика - это не более чем обычные рисунки на бумаге. Конечно, это ни в коем разе не отменяет всех заслуг программиста по созданию продукта, но все же сайтам место в интернете, где они реализовывают свои непосредственные функции. Если к проекту было приложено немало усилий и времени, то его запуск в работу для создателя должен быть особенно ценен.

Если дальше не углубляться в лирику, то развертывание сайта в интернете - это также важный этап в запуске всего интернет-проекта, чем он крупнее, тем более ответственно стоит подходить к этому вопросу.

Развертывать сайт на Jekyll можно различными способами. Я хочу лишь описать основные моменты при работе с GitHub. Все полезные ссылки по данной теме оставлю в конце статьи.

GitHub Pages и Jekyll

У GitHub есть достаточно интересный и удобный сервис - GitHub Pages. С помощью этого сервиса HTML страницы в вашем репозитории становятся доступны в интернете. Никакого php правда не получится использовать, Pages обрабатывает только статические файлы, однако, с jekyll он также работает.

GitHub Pages на своей стороне генерирует статический сайт из исходников проекта на Jekyll подобно тому, как это выполнялось локально на компьютере. Содержимое папки _site становится доступным в интернете.

Чтобы все заработало необходимо создать репозиторий на GitHub. Если репозиторий персональный, то называться он должен username.github.io, если репозиторий отдельного проекта, то исходники стоит размещать в ветке gh-pages (подробнее все отлично описано на сайте проекта). Далее на удаленный репозиторий отправляем исходники проекта и сайт становится доступным по адресу http://username.github.io.

С этого момента работать над сайтом можно из любого рабочего места, отсылая изменения на удаленный репозиторий или производя изменения прямо через редактор на GitHub.

Если потребуется связать такой хостинг с личным доменом, то это решается размещением в корне проекта файла CNAME с указанием домена, а также соответствующей настройкой у регистратора домена (нужно будет указать адреса серверов GitHub).

Важно отметить, что одно из основных ограничений, которых GitHub Pages накладывает на использование Jekyll - это невозможность использовать любые плагины. А именно разрешается использовать плагины, которые есть в зависимостях у самого GitHub Pages (список плагинов тут). Остальные плагины работать не будут. Если без плагинов никак не обойтись выход только такой: или отправлять на репозиторий предварительно уже сгенерированный сайт (то есть содержимое _site), или же отказаться от подобного хостинга.

Как таковых проблем с развертыванием я не испытал. Большую часть возникающих вопросов удачно решал с помощью поиска. Документация по GitHub Pages также отличная. Полезную информацию также всегда можно почерпнуть на репозиториях сайтов, уже работающих на связке Jekyll GitHub Pages.

В заключении приведу основной список ссылок для изучения: