Jekyll ist ein in Ruby geschriebener, blogorientierter Static-Site-Generator, der GitHub Pages antreibt.
Verzeichnisstruktur
├── _config.yml # Globale Site-Konfiguration
├── _drafts/ # Unveröffentlichte Entwürfe
├── _includes/ # Wiederverwendbare Template-Partials
├── _layouts/ # Layout-Wrapper für Seiten & Beiträge
├── _posts/ # Veröffentlichte Beiträge (YYYY-MM-DD-title.md)
├── _data/ # Strukturierte JSON/YAML-Datendateien
├── _site/ # Gebaute statische HTML-Ausgabe
└── index.md # Startseiten-Einstiegsdatei
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-Template-Syntax
Ausgabe & Variablen
{{ site.title }}
{{ page.title }}
{{ content }}
{{ post.date | date: "%B %d, %Y" }}
Kontrollfluss & Iteration
{% 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 %}
Häufige Filter
| Filter | Beschreibung | Beispiel |
|---|---|---|
date: "%Y-%m-%d" |
Zeitstempel formatieren | {{ page.date | date: "%Y" }} |
truncate: 100 |
String mit Auslassungspunkten kürzen | {{ post.content | truncate: 100 }} |
strip_html |
Alle HTML-Tags entfernen | {{ post.content | strip_html }} |
jsonify |
Daten als JSON-String serialisieren | {{ site.data.authors | jsonify }} |
markdownify |
Markdown in HTML umwandeln | {{ text | markdownify }} |
Referenz der globalen Variablen
site.posts: Umgekehrt chronologische Liste aller Beiträge.site.pages: Liste aller statischen Seiten.site.html_pages: Teilmenge vonsite.pages, die HTML ausgibt.site.data: Rohdaten aus_data/*.yml-Dateien.site.time: Aktueller Build-Zeitstempel.