Jekyll » Historie » Revize 63
Revize 62 (Lukáš Moučka, 2019-10-29 09:36) → Revize 63/106 (Lukáš Moučka, 2019-10-29 09:37)
h1. Jekyll _Jekyll_ je open source nástroj určený pro generování statických webových stránek založený v roce 2008 zakladateli _GitHubu_. Výsledný vygenerovaný web nemá žádný backend – v pozadí neběží žádné _PHP_, _Java EE_ apod. Samotný generátor je napsaný v programovacím jazyce _Ruby_ a renderuje markdown (_odlehčený_ _značkovací_ _jazyk_) a HTML (_Hypertext_ _Markup_ _Language_) do HTML. Stále patří společnosti _GitHub_ a používají ho pro svou službu _Github Pages_. Hlavní využití má pro vývojáře k dokumentaci softwaru. Dále je využitelný pro osobní blogy a v jistých případech může být použit místo _wiki_. h2. Případy užití h3. GitHub Pages Nejjednodušším způsobem je použití _Jekyllu_ v rámci _GitHubu_. Webové stránky zde mohou ukazovat autorovo portfolio nebo sloužit jako dokumentace k softwaru. Není potřeba vlastnit žádnou doménu ani mít zřízený hosting, kde by staticky vygenerovaný web běžel. Stačí založit novou @branch@ vedle naší @master branch@ a začít web používat. Níže podrobnější návod. h4. Instalace _Instalace je pro potřeby tohoto článku ve zjednodušené formě._ # *Vytvoření repozitáře* – po přihlášení se na stránkách _GitHubu_ je potřeba vytvořit nový repozitář, jehož název bude shodný s naším uživatelským nebo jménem organizace. V případě nevalidního zadání nebude nově založený repozitář fungovat. # *Klonování repozitáře* – po úspěšném založení nového repozitáře ho naklonujeme do námi definovaného lokálního uložiště. !klonovani-repozitare.jpg! # *Vytvoření inicializačního souboru* – vstoupíme do složky s projektem a vytvoříme soubor @index.html@. !vytvoreni-souboru-index.jpg! # *Nahrání souboru @index.html@* – soubor @index.html@ je nutné v rámci adresářové struktury přidat do gitu a provést @commit@ následovaný @pushem@. Do souboru je vhodné vložit nějaký text, abychom si ověřili funkčnost služby _Github_ _Pages_. Následně již můžeme nahrát soubory nutné pro funkčnost _Jekyllu_, resp. pro jeho generování na statický obsah. !nahrani-indexu.jpg! Po instalaci je možné zakládat nové stránky, vkládat příspěvky nebo měnit vzhled za pomocí předdefinovaných šablon nebo pomocí CSS (_Cascading_ _Style_ _Sheets_). Po každé provedené úpravě webu, resp. commitu je potřebovat vygenerovat nový statický obsah. Dle konfigurace repozitáře provádí generování _GitHub_ automaticky nebo jej můžeme provádět manuálně. h3. Klasický web (blog) Pro klasické blogování s _Jekyllem_ je nutné vlastnit domému a hosting. Na hostujícím serveru je potřeba jen webový server (Apache, NGINX) – na hostingu je umístěn jen statický obsah, takže není potřeba databáze ani např. PHP (_Hypertext_ _Preprocessor_) server. Nástroj _Jekkyl_ je nainstalováný na lokálním počítači včetně všech závislostí. Počítač generuje statický obsah, který je následně nahrán na hosting. h4. Instalace _Instalace je pro potřeby tohoto článku ve zjednodušené formě._ # *Instalace závislostí* – je potřeba nainstalovat _Ruby_, protože je v něm _Jekkyl_ napsaný. Dále je potřeba nainstalovat knihovny _gcc_, _gcc-c++_ a _zlib-devel_, protože některé závislosti z _Ruby_ se nestahují, ale kompilují. # *Instalace Jekkylu* – necháme nainstalovat _Jekkyl_ a po instalaci _Jekkylu_ jej necháme vygenerovat výchozí blog s výchozí šablonou. Blog můžeme opět editovat a následně vygenerovaný statický obsah nahrát na hosting. h2. Vkládání příspěvků Každý příspěvek je reprezentován jedním textovým souborem a _Jekyll_ obstará vše ostatní. Příspěvek je psán v markdown, který obsahuje stejné formátovací značky jako _GitHub_. Je možnost psát i v čistém HTML. Po vytvoření příspěvku (textového souboru) musí být umístěn do složky @_posts@. Název souboru musí mít tento formát: @ROK-MĚSÍC-DEN-NÁZEV_PŘÍSPĚVKU.MARKUP@. Do příspěvku je možné vložit odkaz na jiný příspěvek pomocí _permalinku_ – nedochází ke kolizi URL (_Uniform_ _Resource_ _Locator_) adres při změně názvu příspěvku. Příspěvěk Příspěvku může obsahovat mediální obsah jako jsou obrázky a různé přílohy (PDF). Příspěvky je možné kategorizovat a dávat jim tagy (Definice se provádí v hlavičce příspěvku.). Pro dosud nepublikované příspěvky (rozpracované a připravené dopředu) slouží složka @drafts@. Jejich náhled je možný na lokálním počítači. h2. Šablonovací jazyk Šablonovací jazyk _Liquid_ značně rozšiřuje možnosti příspěvků. Přidává možnost vypisovat proměnné, používat různé filtry, složitější formátování textu nebo používat logické formule. Může sloužit např. pro výpis příspěvků nebo kategorií. !vypis-prispevku.jpg! !vypis-kategorii.jpg!