Jekyll

Jekyll — генератор статичных сайтов. Грубо говоря, он просто помогает собрать из шаблонов и текстов набор HTML-файлов, которые можно разместить на любом веб-сервере.

Структура директорий

Структура сайта на Jekyll

/Users/%username%/Code/jekyll-now
├─ CNAME # Содержит доменное имя (опционально)
├─ _config.yml # Файл конфигурации Jekyll
├─ _includes # Сниппеты кода, которые можно использовать в шаблонах
│  ├─ analytics.html
│  └─ disqus.html
├─ _layouts
│  ├─ default.html # Основной шаблон. Включает <head>, <navigation>, <footer>, и т.д.
│  ├─ page.html # Шаблон для статических страниц
│  └─ post.html # Шаблон для постов в блоге
├─ _posts # Все посты — тут!
│  └─ 2014-3-3-Hello-World.md
├─ _site # После сборки сайта Jekyll генерирует HTML в этой директории. Это то, что отдается браузеру!
│  ├─ CNAME
│  ├─ LICENSE
│  ├─ about.html
│  ├─ feed.xml
│  ├─ index.html
│  ├─ sitemap.xml
│  └─ style.css
├─ about.md # Статическая страница "О проекте", которую я создал.
├─ feed.xml # XML для работы RSS
├─ images # Содержит все картинки
│  ├── first-post.jpg
├─ index.html # Лэндинг
├─ scss # Sass со стилями сайта
│  ├─ _highlights.scss
│  ├─ _reset.scss
│  ├─ _variables.scss
│  └─ style.scss
└── sitemap.xml # Карта сайта

Файл  конфигурации

# файл конфигурации

# _config.yml

# тайтл, описание блога
title: "Jekyll"
description: "Blog about jekyll and ruby"

# базовый url сайта
# меняется, если страницы лежат не в корне
# например, /blog
baseurl: ""

# домен сайта
# для разработки включите localhost, для деплоя укажите свой домен
url: "http://localhost:4000"

# Настройки сборки
markdown: kramdown      # используемый генератор markdown
timezone: Europe/Moscow # временная зона
destination: _site      # директория с собранной статикой
relative_permalinks: false # использовать ли относительные пути

# путь к статье в формате /категория/название_статьи
permalink: /:categories/:title/

# При выводе всех постов на одной странице
# используем постраничный вывод
paginate: 6
paginate_path: 'page:num'

# не публиковать посты, указанное время которых
# позднее времени момента публикации
future: false