Jekyll 3

Тут про установку Jekyll и использование для хостинга GitHub, GitLab и BitBucket

Jekyll - это генератор статических веб-страниц, написанный на Ruby. То есть устанавливаем Ruby:

// для Debian и Ubuntu
sudo apt-get install ruby-full

Нужна версия 2.х.х. Проверить версию можно командой:

ruby --version

Ruby использует менеджер пакетов gem. Для Jekyll нужен пакет Bundler, он устанавливается командой:

sudo gem install bundler

Пакет ставится в каталог /var/lib/gems/, поэтому запускаем команду с административными правами.

Также, устанавливаем сам Jekyll:

sudo gem install jekyll

Для развертывания сайта с использованием Jekyll нужен файл с зависимостями Gemfile. Обычно он лежит в корневом каталоге проекта.

Если проекта ещё нет, то создание нового шаблонного проекта делается командой:

jekyll new ./

Эта команда загрузит необходимые пакеты и создаст необходимый минимум файлов и каталогов для нового веб-сайта.

Если планируется использовать GitHub Pages в Gemfile должны присутствовать строки:

source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

Теперь, ставим необходимые пакеты:

bundler install

При этом создается файл Gemfile.lock, в котором фиксируются версии установленных пакетов и при повторном выполнении этой команды зависимости будут браться уже из файла Gemfile.lock.

NB! Если при установке пакетов выводится ошибка:

/usr/lib/ruby/2.5.0/rubygems.rb:289:in ‘find_spec_for_exe’: can’t find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

это скорее всего означает, что у вас есть файл Gemfile.lock и в нем прописана версия пакета bundler:

BUNDLED WITH
   1.17.3

Решение: либо удалить файл Gemfile.lock, либо установить bundler нужной версии:

gem install bundler -v '1.17.3'

Обновление генератора Jekyll и пакетов с зависимостями:

bundle update

Будет происходить обновление файла Gemfile.lock.

Пересборка проекта с использованием неопубликованных статей:

bundle exec jekyll build --draft

Полезные ссылки:

  1. Официальная документация (en)
Евгений Вдовенко
Евгений Вдовенко

Физик по образованию, занимаюсь веб-разработкой на PHP с 2013 года. Нравится ковырятся в Zend Framework/Expressive и Joomla CMS/Framework. В процессе разборок с Python. Подумываю посмотреть Go. Считаю PostgreSQL крутым продуктом и внедряю его везде, где могу.