Jak si udělat jednoduše stránky nebo blog? Máme přece nástroj jménem Jekyll. Vše si vysvětlíme uvnitř článku.

Blog či web jednoduše, ale staticky?

I takové otázky padají, když se někdo rozhodne vytvořit si třeba osobní blog či web. Hodně lidí se hned vrhne na CMS, i když vůbec netuší, že provozovat CMS nejsou jen kroky “nainstaluju, doplním a končím”. Ne! Takhle to opravdu nefunguje. Každý CMS vyžaduje nějakou údržbu a je potřeba jej taky nějak držet v bezpečí, protože u webových aplikací hrozí velké riziko napadení. Zvlášť u webů vytvořených začátečníky je velké riziko toho, že uživatelé vytvoří bezpečností chyby, které někdo zneužije k nějakým zákeřnostem. V tom lepším případě to skončí vypnutím přístupu k funkci na odesílání mailů, v tom horším případě dojde k vypnutí webu, dokud nedojde k opravě bezpečnostních chyb. Tak jako tak, pro začínající uživatele je lepší se naučit základům, teprve poté přejít na něco složitějšího. A tady může hodně pomoci Jekyll. Oficiální stránky Jekyll(u)

Jak může Jekyll pomoct?

Na to je jednoduchá odpověď. Jekyll pracuje na principu převodu předem připravených šablon, článků psaných v Markdownu a doplňkových souborů (jako jsou např. obrázky), na statické stránky v HTML + CSS a JavaScript. Použitím tohoto nástroje tedy zabijeme dvě mouchy jednou ranou. Jednak začne uživatel hezky od začátku, ale co je nejdůležitější… stránky v HTML nejde hacknout :-)

Prakticky většina dnešních kodérů začínala s HTML a CSS (když neberu v potaz C, C++, C# a další kompilované jazyky). Následně se na to nabalil JavaScript, přidalo se PHP, do toho nějaká databáze… třeba MySQL… a už to jede. Jazyků existují kvanta a každý má nějaké to svoje pro a proti. Na každém z vás tedy je, jaký jazyk zvolí. Pravděpodobně ale půjdete podle toho, na co se chcete zaměřit (backend - frontend). Nicméně minimální znalost HTML, CSS a JS je základ, snad, u každého kodéra. Pokud se naučíte tyto tři jazyky, alespoň základy, tak dokážete udělat v pohodě jednoduché stránky úplně od píky. V dnešní době navíc existuje hodně kvalitních webů, kde se HTML, CSS i JS vysvětluje od začátku, a to i v českém jazyce. Takže hurá do toho a půl bude hotovo :-)

GitHub pages

Jekyll pomůže i v případě, pokud si chcete udělat GitHub pages. Jekyll totiž nativně spolupracuje s GitHubem, takže si GitHub sám generuje výsledné stránky (repozitář obsahuje jen zdrojové soubory webu). Výhoda je v tom, že máte kompletní historii úprav, takže není problém se ve stavu katastrofy vrátit o krok zpět. Další výhoda spočívá v tom, že můžete online editovat celý web přímo na GitHubu. Tudíž odpadá potřeba buildovat zdrojové soubory vašich stránek a někam je odesílat skrz FTP.

Jak na Jekyll(a)?

Není to vůbec složité, spíše záleží na tom, jaký operační sytém používáte. Standardně lze Jekyll nainstalovat pod GNU/Linux, Unix nebo macOS. Problém může nastat u Windows, ale i na něm lze Jekyll používat, leč instalace je trošku složitější.

Ale nebojte, většina jsou automatické instalátory :-) Není se tedy čeho bát.

Linux, Unix a macOS je myslím hezky vysvětleno přímo na webu Jekyllu v sekci instalace, případně internet, kde jsou kvanta návodů a videonávodů. Pro uživatele výše zmíněných systému to bude asi jednodušší, protože se v těchto systémech používá mnohem více konzole. V případě Windows je to o něco složitější. U Winsows se musí nainstalovat několik podpůrných aplikací a existuje několik variant instalací. Jedna je skrze package managera Chocolatey, nebo druhá cesta a to pomocí RubyInstalleru. Je asi celkem jedno jakou cestu zvolíte, obě vedou ke stejnému cíly, ale různým způsobem. Já jsem v rychlosti našel jeden videonávod přímo na Youtube zde, případně hezký návod zde od Sverrirse Sigmundarsona. Sám provozuji Jekylla i na Windows platformě a naprosto bez problémů :-)

Proč tedy Jekylla zvolit?

Pokud máte přečten text výše, tak asi tušíte. Kladů i záporů je několik, ale každý by si měl sám uvážit, zda klady převyšují zápory. Pro nováčky to bude asi složitější, protože skočit do nějakého systému, jako je Jekyll, není nikdy snadné. Klady jsou v tomto případě ale mnohonásobně silnější, než zápory. Především jde o bezpečnost, rychlost načítání webu (pouze html), automatizace celého procesu generování, dále GitHub Pages, předem připravené šablony a další. Je toho opravdu hodně, ale na každém je, zda se na začátku trápit a poté sklízet plody, nebo jít cestou CMS a modlit se, aby nedošlo k napadení webu díky nějaké hloupé chybě (díra v pluginu, špatně ošetřené vstupy, díra v samotném CMS a další). Důležité také je, že v případě Jekyllu pracujete na začátku s HTML, CSS, JS, Markdownem, Liquidem a dalším jazyky, které nejsou složité na pochopení.

Tady je krátký seznam kladů a záporů

Klady

  • velikost stránek a tím i rychlé načítání
  • bezpečnost (hacknout html web nejde, pokud někdo neprojde skrz přístup na server)
  • možnosti nastavení a šablony
  • jednoduchost - kódování v html, css, js, markdown, liquid…
  • spolupracuje s GitHub, kde lze snadno editovat/tvořit i články
  • automatizace, díky které můžete jen psát články, poté jedním příkazem vytvoříte soubory webu a odešlete je na server (build a deploy)

Zápory

  • statické stránky, takže třeba taková návštěvní kniha jedině jako nějaká vložená služba (iframe atdp)
  • nemá editor článků, vše píšete v editoru jako ostatní texty
  • nemá administraci jako ostatní CMS (oprava, administraci má, ale silně omezenou a jen jako plugin)

V dynamickém světě?

Pokud se rozhodnete jít cestou dynamického webu, tak Jekyll přeskočte, protože ten generuje opravdu jen statické stránky. Na začátku své dynamické cesty asi budete chtít začít pracovat v PHP, protože je to jeden z těch lehčích interpretovaných jazyků a Jekyll by vám asi nic nepřinesl. Stále ale platí pravidlo, že HTML a CSS je základ ;-)

Lubomír Merta

Původem správce sítě a Linux serverů, aktálně frontend kodér, Android geek a sportovec z gauče.

LubosMertak
LubosMertak


Vytvořeno