Projekt

Obecné

Profil

Jekyll » Historie » Verze 66

Lukáš Moučka, 2019-10-29 09:47

1 1 Lukáš Moučka
h1. Jekyll
2 2 Lukáš Moučka
3 64 Lukáš Moučka
_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_) do HTML (_Hypertext_ _Markup_ _Language_) – web je možné psát rovnou i v 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_.
4 11 Lukáš Moučka
5
h2. Případy užití
6 12 Lukáš Moučka
7 11 Lukáš Moučka
h3. GitHub Pages
8 12 Lukáš Moučka
9 58 Lukáš Moučka
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.
10 13 Lukáš Moučka
11 41 Lukáš Moučka
h4. Instalace
12 17 Lukáš Moučka
13 47 Lukáš Moučka
_Instalace je pro potřeby tohoto článku ve zjednodušené formě._
14 46 Lukáš Moučka
15 65 Lukáš Moučka
# *Vytvoření repozitáře* – po přihlášení se na stránkách _GitHubu_ je vytvoříme nový repozitář, jehož název bude shodný s naším uživatelským nebo jménem organizace. V případě nevalidního zadání údajů nebude nově založený repozitář fungovat.
16
# *Klonování repozitáře* – po úspěšném založení nového repozitáře jej naklonujeme do námi definovaného lokálního uložiště.
17 22 Lukáš Moučka
!klonovani-repozitare.jpg!
18 25 Lukáš Moučka
# *Vytvoření inicializačního souboru* – vstoupíme do složky s projektem a vytvoříme soubor @index.html@.
19 26 Lukáš Moučka
!vytvoreni-souboru-index.jpg!
20 59 Lukáš Moučka
# *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.
21 32 Lukáš Moučka
!nahrani-indexu.jpg!
22 36 Lukáš Moučka
23 59 Lukáš Moučka
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ě.
24 39 Lukáš Moučka
25 41 Lukáš Moučka
h3. Klasický web (blog)
26 39 Lukáš Moučka
27 66 Lukáš Moučka
Pro klasické blogování s _Jekyllem_ je nutné vlastnit domému a hosting. Na hostujícím serveru musí být nainstalován 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.
28 42 Lukáš Moučka
29
h4. Instalace
30 46 Lukáš Moučka
31 48 Lukáš Moučka
_Instalace je pro potřeby tohoto článku ve zjednodušené formě._
32 42 Lukáš Moučka
33 1 Lukáš Moučka
# *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í.
34
# *Instalace Jekkylu* – necháme nainstalovat _Jekkyl_ a po instalaci _Jekkylu_ jej necháme vygenerovat výchozí blog s výchozí šablonou.
35
36
Blog můžeme opět editovat a následně vygenerovaný statický obsah nahrát na hosting.
37 51 Lukáš Moučka
38 52 Lukáš Moučka
h2. Vkládání příspěvků
39 51 Lukáš Moučka
40 62 Lukáš Moučka
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@.
41 53 Lukáš Moučka
42 63 Lukáš Moučka
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 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.
43 55 Lukáš Moučka
44
h2. Šablonovací jazyk
45
46
Š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í.
47 57 Lukáš Moučka
48 56 Lukáš Moučka
!vypis-prispevku.jpg!
49 57 Lukáš Moučka
50 56 Lukáš Moučka
!vypis-kategorii.jpg!