Темы позволяют задать вашим таблицам одинаковый стиль. Темы в Jekyll базируются на Ruby Gem. По-умолчанию при создании сайта используется тема minima.

Некоторые файлы сайта, например assets, _layouts, _includes и _sass, не будут видны в директории исходников сайта, но они будут содержатся в теме и будут подтянуты при сборке.

Файлы Gemfile и Gemfile.lock используются Bundler для отслеживания за необходимыми gem’ами. Что бы их обновить можно воспользоваться командой bundle update или bundle update <gemname>.

Темы в Jekyll задают макеты, вставки и таблицы стилей по-умолчанию. Можно заменить любую из частей темы своей собственной. Так, чтобы перезаписать макет или вставку нужно создать одноименный файл в директориях _layouts и _includes. Чтобы увидеть контент из темы можно воспользоваться следующими командами.

# MacOS
open $(bundle show minima)
# Windows
explorer /usr/local/lib/ruby/gems/2.3.0/gems/minima-2.1.0

Так, minima будет содержать

├── LICENSE.txt
├── README.md
├── _includes
│   ├── disqus_comments.html
│   ├── footer.html
│   ├── google-analytics.html
│   ├── head.html
│   ├── header.html
│   ├── icon-github.html
│   ├── icon-github.svg
│   ├── icon-twitter.html
│   └── icon-twitter.svg
├── _layouts
│   ├── default.html
│   ├── home.html
│   ├── page.html
│   └── post.html
├── _sass
│   ├── minima
│   │   ├── _base.scss
│   │   ├── _layout.scss
│   │   └── _syntax-highlighting.scss
│   └── minima.scss
└── assets
    └── main.scss

Так, чтобы перезаписать footer.html нужно создать файл _includes/footer.html в исходниках.

Чтобы удалить тему необходимо:

  • Удалить gem "minima", "~> 2.0" из Gemfile
  • Удалить theme: minima из _config.yml
  • Выполнить bundle update

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

Можно использовать уже готовую тему, а чтобы её установить необходимо:

  • Добавить тему в Gemfile
# ./Gemfile

- gem "minima", "~> 2.0"
+ gem "jekyll-theme-awesome"
  • Установить тему bundle install
  • Добавить в _config.yml theme: jekyll-theme-awesome
  • Пересобрать сайт

Можно создавать собственные темы и публиковать их в RubyGems.org