Jekyll — генератор статических сайтов на языке Ruby с поддержкой блогов, лежащий в основе GitHub Pages.
Структура каталогов
├── _config.yml # Глобальная конфигурация сайта
├── _drafts/ # Неопубликованные черновики постов
├── _includes/ # Переиспользуемые фрагменты шаблонов
├── _layouts/ # Макеты оформления страниц и статей
├── _posts/ # Опубликованные статьи (YYYY-MM-DD-title.md)
├── _data/ # Структурированные файлы данных JSON/YAML
├── _site/ # Собранный статический HTML-вывод
└── index.md # Входной файл главной страницы
YAML Front Matter
---
layout: post
title: "Announcing Version 2.0"
date: 2026-11-08 10:00:00 +0800
categories: news tech
tags: [release, ruby]
published: true
---
Синтаксис шаблонов Liquid
Вывод и переменные
{{ site.title }}
{{ page.title }}
{{ content }}
{{ post.date | date: "%B %d, %Y" }}
Условные блоки и циклы
{% if page.comments %}
{% include comments.html %}
{% endif %}
{% for post in site.posts limit:5 %}
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
<p>{{ post.excerpt }}</p>
{% endfor %}
Популярные фильтры
| Фильтр | Описание | Пример |
|---|---|---|
date: "%Y-%m-%d" |
Форматировать метку времени | {{ page.date | date: "%Y" }} |
truncate: 100 |
Обрезать строку с многоточием | {{ post.content | truncate: 100 }} |
strip_html |
Удалить всю HTML-разметку | {{ post.content | strip_html }} |
jsonify |
Сериализовать данные в JSON-строку | {{ site.data.authors | jsonify }} |
markdownify |
Преобразовать Markdown в HTML | {{ text | markdownify }} |
Справочник глобальных переменных
site.posts: Обратный хронологический список всех записей.site.pages: Список всех статических страниц.site.html_pages: Подмножествоsite.pages, формирующих HTML.site.data: Сырые данные из файлов_data/*.yml.site.time: Текущая метка времени сборки сайта.