Jekyll to napisany w Rubym generator stron statycznych wspierający blogi, który napędza usługę GitHub Pages.
Układ katalogów
├── _config.yml # Globalna konfiguracja witryny
├── _drafts/ # Nieopublikowane wersje robocze
├── _includes/ # Fragmenty szablonów wielokrotnego użytku
├── _layouts/ # Układy stron i wpisów
├── _posts/ # Opublikowane wpisy (YYYY-MM-DD-title.md)
├── _data/ # Ustrukturyzowane pliki danych JSON/YAML
├── _site/ # Wygenerowany statyczny wynik HTML
└── index.md # Plik wejściowy strony głównej
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
---
Składnia szablonów Liquid
Wyjście i zmienne
{{ site.title }}
{{ page.title }}
{{ content }}
{{ post.date | date: "%B %d, %Y" }}
Instrukcje sterujące i pętle
{% 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 %}
Popularne filtry
| Filtr | Opis | Przykład |
|---|---|---|
date: "%Y-%m-%d" |
Formatuj znacznik czasu | {{ page.date | date: "%Y" }} |
truncate: 100 |
Skróć napis wielokropkiem | {{ post.content | truncate: 100 }} |
strip_html |
Usuń wszystkie znaczniki HTML | {{ post.content | strip_html }} |
jsonify |
Serializuj dane do ciągu JSON | {{ site.data.authors | jsonify }} |
markdownify |
Konwertuj Markdown na HTML | {{ text | markdownify }} |
Zmienne globalne
site.posts: Odwrócona chronologicznie lista wszystkich wpisów.site.pages: Lista wszystkich stron statycznych.site.html_pages: Podzbiórsite.pageszwracający HTML.site.data: Surowe dane wczytane z plików_data/*.yml.site.time: Aktualny znacznik czasu generowania.