WordPress ist für viele die erste Wahl, wenn ein neuer Blog oder eine einfache Firmen-Homepage erstellt werden soll. Schließ­lich dient das Content-Ma­nage­ment-System seit Jahren als zu­ver­läs­si­ges Werkzeug, das für Ein­stei­ger und Profis glei­cher­ma­ßen geeignet ist. Da es sich im Laufe der Zeit aber immer mehr zu einem Allround-System ent­wi­ckelt hat, gibt es durchaus Si­tua­tio­nen, in denen WordPress mit seinem großen Umfang die Be­dürf­nis­se eines Web-Ent­wick­lers weit über­steigt. Eben dieser Pro­ble­ma­tik nehmen sich leicht­ge­wich­ti­ge Al­ter­na­ti­ven wie Jekyll an: Auf die not­wen­digs­ten Kom­po­nen­ten be­schränkt, er­mög­licht es der Website-Generator, Seiten ohne Da­ten­bank­an­bin­dung oder sonstige zu­sätz­li­che Software zu betreiben.WordPress ist für viele die erste Wahl, wenn ein neuer Blog oder eine einfache Firmen-Homepage erstellt werden soll. Doch es gibt Si­tua­tio­nen, in denen WordPress mit seinem großen Umfang die Be­dürf­nis­se eines Web-Ent­wick­lers weit über­steigt. Eben dieser Pro­ble­ma­tik nehmen sich leicht­ge­wich­ti­ge Al­ter­na­ti­ven wie Jekyll an: Auf die not­wen­digs­ten Kom­po­nen­ten be­schränkt, er­mög­licht es der Website-Generator, Seiten ohne Da­ten­bank­an­bin­dung oder sonstige zu­sätz­li­che Software zu betreiben Als Teil des Jamstacks können mit dem Static-Site-Generator in Kom­bi­na­ti­on mit Mi­cro­ser­vices außerdem dy­na­mi­sche und gleich­zei­tig per­for­man­te Websites im­ple­men­tiert werden.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was ist Jekyll?

Im November 2008 ver­öf­fent­lich­te Tom Preston-Werner, einer der vier Gründer der Ent­wick­ler-Plattform GitHub, den Website-Generator Jekyll unter der freien MIT-Lizenz. In Ruby ge­schrie­ben greift dieser auf ein Template-Ver­zeich­nis zurück, das eine Reihe struk­tu­rier­ter und sta­ti­scher Text­da­tei­en (Markdowns) ver­schie­de­ner Formate enthält. Diese bestimmen ei­ner­seits das Layout, an­de­rer­seits den Inhalt des Web­pro­jekts und lassen sich zu diesem Zweck in­di­vi­du­ell anpassen. Dabei stellt der Generator keinen WYSIWYG-Editor, sondern erfordert das klas­si­sche Code-Schreiben. Hierfür wird der Content-Editor Prose empfohlen, der die Markdown-Edi­tie­rung ver­ein­facht und für Jekyll optimiert wurde.

Bevor Ver­än­de­run­gen an dem Code in die Live-Version der ent­wi­ckel­ten Web­an­wen­dung ein­flie­ßen, lassen sie sich dank des Jekyll-eigenen Ent­wick­lungs­ser­vers be­gut­ach­ten. Für die Um­wand­lung der Dateien in eine statische Website, die sich mit jedem gängigen Webserver aus­lie­fern lässt, sorgt dann die im­ple­men­tier­te Rendering-Engine Liquid. Diese generiert den HTML-Code au­to­ma­tisch im Hin­ter­grund, wenn Än­de­run­gen an den Text­da­tei­en vor­ge­nom­men werden.

So erstellen Sie sehr schnell, sehr einfache Jekyll-Websites:

Die Vor- und Nachteile von Jekyll

Jekyll für Blogs und andere statische Web­pro­jek­te zu nutzen, stellt aus ver­schie­de­nen Gründen eine über­le­gens­wer­te Al­ter­na­ti­ve zu Content-Ma­nage­ment-Systemen, Baukästen und Co. dar. Der we­sent­li­che Vorteil dieser Lösung ist die Sim­pli­zi­tät, die sowohl die Arbeit mit dem Website-Generator als auch die er­stell­ten Projekte aus­zeich­net. Dank der Mög­lich­keit, auf eine Datenbank zu ver­zich­ten, spart man sich bei­spiels­wei­se die Ein­rich­tung und Kon­fi­gu­ra­ti­on einer solchen komplett. Außerdem entfallen die ansonsten not­wen­di­gen Da­ten­bank­zu­grif­fe, was sich positiv auf die Ladezeit der Website auswirkt. Zur guten Per­for­mance und einfachen Pro­jekt­ent­wick­lung und -pflege trägt auch der mi­ni­ma­lis­ti­sche Code bei, der auf die wichtigen Funk­tio­nen und Features reduziert ist und sämtliche Jekyll-Themes aus­zeich­net. Im Gegensatz zu klas­si­schen CMS generiert Jekyll aus­lie­fer­ba­res Markup direkt nach einer Änderung und nicht erst dann, wenn ein Nutzer die Seite aufruft.

Ferner überzeugt Jekyll in puncto Sta­bi­li­tät und Si­cher­heit: Da der Webserver lediglich Text­da­tei­en aus­lie­fern muss, ist das Feh­ler­po­ten­zi­al bei Jekyll-Präsenzen we­sent­lich geringer als bei Websites, die erst durch das Zu­sam­men­spiel mehrerer ver­schie­de­ner Kom­po­nen­ten funk­tio­nie­ren. Und weil keine re­gel­mä­ßi­gen Ak­tua­li­sie­run­gen notwendig sind, sorgt das stabile Code­ge­rüst zudem lang­fris­tig für eine hohe Ver­füg­bar­keit der Website. Die Si­cher­heit re­sul­tiert derweil daraus, dass Jekyll – ohne CMS, Datenbank und Skripte mit dy­na­mi­schen Elementen (PHP, Ja­va­Script etc.) – schlicht­weg kaum An­griffs­flä­che bietet.

Während die stark ein­ge­schränk­te Codebasis für erfahrene Ent­wick­ler keinerlei Hindernis darstellt, werden sich Neulinge mit dem Website-Generator al­ler­dings schwertun. In der Stan­dard­aus­füh­rung verfügt Jekyll über keine grafische Ober­flä­che, weshalb In­stal­la­ti­on und Ein­rich­tung über die Kom­man­do­zei­le erfolgen müssen. Auch in Sachen Theme-Auswahl ist Jekyll vielen CMS oder anderen Website-Ent­wick­lungs­tools, für die oft hunderte oder gar tausende Design- und Layout-Vorlagen exis­tie­ren, deutlich un­ter­le­gen. Gleiches gilt für den Support, der aufgrund der kleinen Community und der geringen Ver­brei­tung eher spärlich ausfällt.

Die folgende Tabelle fasst ab­schlie­ßend die wich­tigs­ten Vor- und Nachteile von Jekyll zusammen.

Vorteil Nachteil
✓ Kurze Ladezeit der ent­wi­ckel­ten Website ✗ Stan­dard­mä­ßig ohne grafische Nut­zer­ober­flä­che
✓ Keine Ein­rich­tung und Pflege von Da­ten­ban­ken und CMS notwendig ✗ Hohe Kom­pi­lie­rungs­zeit
✓ Bietet nahezu keine An­griffs­flä­che ✗ Nur wenige Themes und Plug-ins verfügbar
✓ Keine re­gel­mä­ßi­ge Updates notwendig ✗ Kleine Community
✓ Große Frei­hei­ten bei der Pro­gram­mie­rung (optional: freie Auswahl von GUI und Editor) ✗ Kein Bild­be­ar­bei­tungs­pro­gramm
✓ Keinerlei Ab­hän­gig­keit von be­stimm­ten Formaten oder zu­sätz­li­chen Tools ✗ Ser­ver­sei­ti­ges Skripting (z. B. für Formulare) nicht möglich
✓ Hosting in Ei­gen­re­gie oder auf GitHub-Servern (kos­ten­frei) möglich  
✓ Eigener Ent­wick­lungs­ser­ver in­te­griert  

Jekyll und GitHub – die perfekte Symbiose

GitHub ist in Ent­wick­ler­krei­sen eine feste Größe. Die Online-Plattform ver­ein­facht die Ver­wal­tung von Projekten und die Ver­öf­fent­li­chung von Pro­gramm­codes erheblich – ins­be­son­de­re, wenn ver­schie­de­ne Ent­wick­ler beteiligt sind. GitHub nutzt die Open-Source-Anwendung Git, um auf seinen Servern quell­of­fe­ne Codes verwalten zu können, wobei diese in separaten Ver­zeich­nis­sen ge­spei­chert werden.

An­pas­sun­gen an einem Projekt werden zunächst als Forks (Ab­spal­tun­gen) fest­ge­hal­ten, woraufhin der Autor eine ent­spre­chen­de Be­nach­rich­ti­gung erhält und ent­schei­den kann, ob diese in den Ori­gi­nal­code über­nom­men werden sollen.

Jekyll und Github arbeiten wunderbar zusammen: Die Dateien des Static Site Ge­ne­ra­tors können ganz einfach in ein Re­po­si­to­ry geschoben werden. So lässt sich die Zu­sam­men­ar­beit mit anderen Ent­wick­lern ver­ein­fa­chen und die prak­ti­sche Ver­sio­nie­rung der Plattform nutzen. Möchten Sie eine Jekyll-Website direkt von GitHub aus be­reit­stel­len? Mit IONOS Deploy Now können Sie Ihre Single Page Ap­pli­ca­ti­on oder Ihren Static Site Generator kostenlos hosten - inklusive SSL, Staging und DDoS-Schild.

Kun­den­web­sites mit Jamstack erstellen: Schnell. Effizient. Sicher.

In diesem White­pa­per erfahren Sie unter anderem, welche Probleme kon­ven­tio­nel­le CMS mit sich bringen, warum statische Seiten mithilfe des Jamstacks zur echten Al­ter­na­ti­ve werden – und wie Sie damit schlan­ke­re Workflows und bessere Kund­en­er­geb­nis­se ge­währ­leis­ten.

Moderne Web­ent­wick­lung mit dem Jamstack

Schnel­le­re und schlan­ke­re Websites durch Re­du­zie­rung von In­fra­struk­tur und Pre­ren­de­ring.

Tipp: Deploy Now von IONOS

Mit Deploy Now können Sie Static Site Generator wie Gatsby, Hugo oder Jekyll nahtlos von GitHub auf IONOS geo­red­un­dan­te, DDoS-ge­schütz­te In­fra­struk­tur hosten. Jedes mal wenn Sie Än­de­run­gen an Ihrem Static Site Generator vornehmen, stößt Deploy Now im Hin­ter­grund au­to­ma­tisch eine Ak­tua­li­sie­rung der sta­ti­schen Inhalte auf Ihrem Webspace an. Deploy Now un­ter­stützt außerdem au­to­ma­ti­sche SSL-Pro­vi­sio­nie­rung und die Ver­wen­dung von Staging Um­ge­bun­gen.

Was un­ter­schei­det Jekyll von anderen Blog-Ge­ne­ra­to­ren und -CMS

Mit dem Website-Generator lassen sich Seiten erstellen, die komplett ohne Da­ten­bank­an­bin­dung funk­tio­nie­ren. Im Gegensatz zu einem CMS fehlt al­ler­dings die Mög­lich­keit, dy­na­mi­sche Elemente ein­zu­bin­den, weshalb sich mit Jekyll lediglich statische Seiten erstellen lassen.Es gibt al­ler­dings auch da­ten­bank­lo­se CMS, die ebenfalls für aus­schließ­lich cli­ent­sei­ti­ge Projekte kon­zi­piert sind. Im Vergleich zu Jekyll sind diese aber komplexer.

Im direkten Vergleich mit anderen Static-Website-Ge­ne­ra­to­ren punktet Jekyll vor allem mit der direkten Anbindung an GitHub und den daraus re­sul­tie­ren­den Vorzügen – wie bei­spiels­wei­se dem erst­klas­si­gen Ver­si­ons­ma­nage­ment oder dem kos­ten­frei­en Hosting-Dienst.

Tipp

Weitere Website-Ge­ne­ra­to­ren finden Sie auch in unserem Artikel „Die besten Static-Site-Ge­ne­ra­to­ren“.

Jekyll-Tutorial: So funk­tio­niert die Website-Er­stel­lung mit Deploy Now

Mit Deploy Now, Jekyll und Github können Sie ganz einfach eine eigene Website erstellen. Auf Github werden die Dateien verwaltet, die Sie dann mit Deploy Now direkt ver­öf­fent­li­chen können: jede Änderung am Quelltext kann schnell in die Live-Version über­tra­gen werden. Im folgenden Schritt-für-Schritt-Tutorial erfahren Sie, wie Sie den Generator im Rahmen der Developer-Plattform nutzen können.

Schritt 1: GitHub-Account erstellen

Zunächst benötigt man einen GitHub-Account. Rufen Sie hierfür die GitHub-Website auf und geben Sie dort eine gültige Mail­adres­se, Ihren Be­nut­zer­na­men sowie das Passwort für Ihr künftiges Konto ein.

Im Anschluss wählen Sie den ge­wünsch­ten Plan (Abon­ne­ment) aus – die kos­ten­freie Variante für eine un­be­grenz­te Anzahl öf­fent­li­cher Ver­zeich­nis­se oder die kos­ten­pflich­ti­ge für eine un­be­grenz­te Anzahl privater Ver­zeich­nis­se. Ab­schlie­ßend können Sie optional Angaben zu ihren Pro­gram­mier­kennt­nis­sen und In­ter­es­sen machen. Sie erhalten von GitHub danach eine Be­stä­ti­gungs­mail und ak­ti­vie­ren Ihr Konto durch einen Klick auf den darin ent­hal­te­nen Link.

Schritt 2: Re­po­si­to­ry anlegen & Jekyll-Theme auswählen

Mit dem er­stell­ten Konto können Sie sich nun bei GitHub einloggen. Das Benutzer-Dashboard gewährt Ihnen einen Überblick über die einzelnen Ver­zeich­nis­se – liefert zu Beginn aber natürlich keinerlei In­for­ma­tio­nen. Um dies zu ändern, kreieren Sie zunächst ein neues Re­po­si­to­ry. Klicken Sie zu diesem Zweck in der oberen Be­nut­zer­leis­te auf das Plus-Zeichen und wählen den Menüpunkt „New re­po­si­to­ry“ aus.

Bisher handelt es sich bei dem Ver­zeich­nis um ein ge­wöhn­li­ches GitHub-Pro­jekt­ver­zeich­nis. Um es nun in Ihr Web-Re­po­si­to­ry um­zu­wan­deln, hab Sie ver­schie­de­ne Wege:

Schritt 3: Github-Account mit Deploy Now verbinden

Wenn Sie noch keinen Account bei Deploy Now haben, können Sie sich diesen kostenlos anlegen. Im Anschluss erstellen Sie ein neues Projekt und verbinden dieses mit Ihrem GitHub-Re­po­si­to­ry. Wählen Sie bei der Kon­fi­gu­ra­ti­on Jekyll aus. Dies ist in kürzester Zeit erledigt und schon können Sie mit den Inhalten Ihrer Website beginnen.

Schritt 4: Erste Bei­spiel­sei­te mit Will­kom­mens­nach­richt ver­öf­fent­li­chen

Im Zuge der Theme-Auswahl werden au­to­ma­tisch eine Kon­fi­gu­ra­ti­ons­da­tei (config.yml) sowie eine Index-Seite (index.md) erzeugt. Stan­dard­mä­ßig handelt es sich bei letzterer um das Vor­schau­bei­spiel für das gewählte Jekyll-Theme, weshalb diese auch bereits im Markdown-Format vorliegt. Sowohl diese Start­sei­te, als auch die Kon­fi­gu­ra­ti­ons­da­tei können Sie be­ar­bei­ten, indem Sie die ent­spre­chen­de Datei auswählen und an­schlie­ßend in der Me­nü­leis­te auf das Stift-Symbol klicken.

Löschen Sie den ent­hal­te­nen Code und fügen an­schlie­ßend eine Be­grü­ßungs­über­schrift für Ihre Website ein:

## Herzlich willkommen auf meiner Website!

Be­stä­ti­gen Sie an­schlie­ßend die Will­kom­mens­nach­richt über den „Commit changes“-Button, können Sie Ihre erste Seite nun jederzeit über den im zweiten Schritt gewählten Re­po­si­to­ry-Namen, der gleich­zei­tig auch die URL Ihrer Web­prä­senz ist, aufrufen.

Hinweis

Zu Test­zwe­cken können Sie den bereits ent­hal­te­nen Markdown-Code natürlich auch zunächst in der vor­lie­gen­den Form belassen – Ihre Start­sei­te ist in der Folge identisch mit der Theme-Demopage.

Schritt 5: Eigenen Content hin­zu­fü­gen

Hat die Ein­rich­tung wie in den vor­he­ri­gen Schritten be­schrie­ben funk­tio­niert, können Sie mit der Ge­stal­tung Ihrer Website bzw. Ihres Blog beginnen. Alle Dateien, die Sie zu diesem Zweck benötigen, wie bei­spiels­wei­se CSS-Sheets oder Ja­va­Script-Codes, legen Sie über die Schalt­flä­che „Create new file“ an. Auf diese Weise erzeugen Sie außerdem auch weitere Un­ter­sei­ten für Ihr Web­pro­jekt. Über „Upload files“ ist es zudem möglich, Dateien direkt hoch­zu­la­den. Hierfür können Sie entweder den Spei­cher­ort angeben oder die ge­wünsch­te Datei per Drag-and-Drop einfügen.

Hinweis

Da Sie Ihr Re­po­si­to­ry mit Deploy Now verbunden haben, wird jede Änderung an den Dateien au­to­ma­tisch auf Ihre Website über­tra­gen.

Schritt 6: Desktop-Client oder Terminal-Tool her­un­ter­la­den

Desktop-Client

Es ist zwar möglich, eine Jekyll-Website komplett über das Web-Interface von GitHub zu verwalten. Mit dem Desktop-Client, der wie bereits erwähnt für Windows und macOS zur Verfügung steht, existiert jedoch auch eine Offline-Lösung. Haben Sie diesen noch nicht in­stal­liert, klicken Sie einfach im er­stell­ten Re­po­si­to­ry auf den Button „Set up in Desktop“, woraufhin Sie au­to­ma­tisch zur Down­load­sei­te gelangen.

Terminal Tool

Für viele Ent­wick­ler dürfte der Umweg über den Desktop Client eine eher un­be­lieb­te Lösung sein. Abhilfe schafft hier das GitHub-eigene Terminal Tool, mit dem GitHub-Befehle direkt in der Kom­man­do­zei­le aus­ge­führt werden können. Alle GitHub-Funk­tio­nen können mithilfe des prak­ti­schen Tools und einfachen Befehlen direkt im Terminal aus­ge­führt werden.

Schritt 7: Re­po­si­to­ry „klonen“

Nachdem Sie den Client her­un­ter­ge­la­den und in­stal­liert haben, können Sie diesen unter anderem dazu nutzen, eine lokale Kopie Ihrer Web­prä­senz an­zu­fer­ti­gen. Dazu melden Sie sich einfach mit Ihrem GitHub-Login an und wählen im Startmenü den Eintrag „Clone a re­po­si­to­ry“. Sie haben nun die Mög­lich­keit, das Re­po­si­to­ry anzugeben, dass „geklont“ werden soll. Den Spei­cher­ort legen Sie unter „Local path“ fest.

In Ihrem Re­po­si­to­ry können Sie auf ver­schie­de­ne Branches zugreifen. Hierbei handelt es sich um einzelne Ab­zwei­gun­gen im Projekt, die es Ent­wick­lern erlauben, simultan am Code zu arbeiten oder sich auf bestimmte Ent­wick­lungs­be­rei­che gesondert zu kon­zen­trie­ren. Mit IONOS Deploy Now werden die einzelnen Branches des geklonten Re­po­si­to­ries dar­ge­stellt. Sobald Sie einen neuen Branch erstellen, wird dieser au­to­ma­tisch mittels Deploy Now dar­ge­stellt. So können Sie jederzeit Ihr gesamtes Web­pro­jekt sowie den Fort­schritt innerhalb der einzelnen Ent­wick­lungs­zwei­ge im Auge behalten.

Zum Hauptmenü