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