Эта возможность еще не реализована!

В Jekyll 3.0 и 3.1 нет возможности устанавливать темы таким образом. Вся документация ниже относится к невыпущенной версии и не может быть использована в настоящий момент.

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

Установка темы

  1. Для установки темы вам надо добавить гем с ее названием в Gemfile вашего сайта:

    gem 'my-awesome-jekyll-theme'
    
  2. Сохраните изменения в Gemfile.
  3. Запустите команду bundle install для установки темы.
  4. Наконец, активируйте тему, внеся ее в _config.yml вашего сайта:

    theme: my-awesome-jekyll-theme
    

В Gemfile мы можете подключить сколько угодно тем, но выбрать в _config.yml для использования на сайте можно только одну.

Переписывание значений темы по умолчанию

В темах Jekyll заданы дефолтные макеты, подключаемые фрагменты и стили, все это можно переписать. Например, если в выбранной теме есть макет страницы page, вы можете изменить раскладку в этом макете создав свой макет page в каталоге _layouts (т.е. _layouts/page.html).

При запросе любого файла Jekyll перед обращением к файлам темы будет искать его в следующих каталогах вашего сайта:

  • /_layouts
  • /_includes
  • /_sass

Более подробную информацию по выбранной теме найти в ее репозитории.

Создание темы

Темы Jekyll распространяются как модули Ruby. Единственный обязательный файл это Ruby Gemspec. Вот образец минимального Gemspec для темы my-awesome-jekyll-theme, сохраненного как /my-awsome-jekyll-theme.gemspec:

Gem::Specification.new do |s|
  s.name     = '<THEME TITLE>'
  s.version  = '0.1.0'
  s.license  = 'MIT'
  s.summary  = '<THEME DESCRIPTION>'
  s.author   = '<YOUR NAME>'
  s.email    = '<YOUR EMAIL>'
  s.homepage = 'https://github.com/jekyll/my-awesome-jekyll-theme'
  s.files    = `git ls-files -z`.split("\x0").grep(%r{^_(sass|includes|layouts)/})
end

Макеты и подключаемые фрагменты

Макеты и подключаемые фрагменты в теме работают также, как они работают на любом сайте Jekyll. Поместите макеты в каталог /_layouts вашей темы, а подключаемые фрагменты в /_includes.

Например, если в теме есть файл /_layouts/page.html, а он указан во вводной страницы (layout: page), Jekyll будет искать его сначала в каталоге _layouts сайта, и только если файл там не будет найден, будет использоваться макет там из вашей темы.

Стили

Таблицы стилей вашей темы должны размещаться в каталоге /_sass, также как и на обычном сайте Jekyll. Стили темы могут подключаться из пользовательских таблиц стилей с помощью директивы @import.

Документирование темы

Ваша тема должна включать файл /README.md, объясняющий как авторы сайтов могут установить и использовать тему. Какие макеты имеются, какие фрагменты подключаются, нужно ли добавлять что-либо в конфигурацию сайта — все эти вопросы надо осветить.

Добавление скриншота

Темы отвечают за внешний вид. Покажите пользователям, как выглядит ваша тема, включив скриншот (в файле /screenshot.png) в репозиторий вашей темы, откуда он может быть извлечен программным путем. Вы также можете включить этот скриншот в документацию вашей темы.

Предпросмотр темы

Для предпросмотра темы в ходе разработки может быть полезно использование тестового контента, например, файлов /index.html и /page.html. Это позволит вам использовать команды jekyll build и jekyll serve и просматривать вашу тему как и обычный сайт на Jekyll.

Если вы просматриваете тему локально, убедитесь, что вы не забыли добавить каталог /_site в .gitignore, чтобы предотвратить попадание скомпилированного сайта в дистрибутив темы.

Публикация темы

Темы публикуются на RubyGems.org. Вам понадобится аккаунт RubyGems, который вы можете завести бесплатно.

  1. Сделайте пакет из вашей темы, выполнив следующую команду (заменив my-awesome-jekyll-theme на название своей темы).

     gem build my-awesome-jekyll-theme.gemspec
    
  2. Затем отправьте пакет с темой на сервис RubyGems с помощью еще одной команды ( опять заменив my-awesome-jekyll-theme на название своей темы):

     gem push my-awesome-jekyll-theme-*.gem