Miért legyen statikus blogunk

#jekyll #ruby #github

Miért legyen statikus blogunk

Figyelem!

Úgy tűnik, hogy jelenleg egy olyan cikket böngészel ami több mint két éve készült. A technológia világában ez nagyon sok idő és azóta már sokkal jobb megoldások is lehetnek, mint amit ebben a cikkben olvashatsz. Így azt tanácsolom keress egy frissebb cikket ebben a témában.

Sokat gondolkodtam milyen alapokon valósítsam meg az újragondolt blogomat. Nem akartam PHP alapú motort alá, főként azért mert már unalmas számomra. Mindenképpen valami új megoldást szerettem volna kipróbálni, és azt hiszem sikerült is megtalálnom az optimális választást.

Jekyll a megmentő

A Jekyll névre keresztelt Ruby alapú rendszer gyakorlatilag egy generátor ami statikus HTML oldalakat gyárt az egyszerű szöveges fájlokból. De persze ez csak a felszín, hiszen 2013-as megjelenése óta nagyon sok hasznos funkcióval bővült.

Open Source rendszerről van szó, ami népszerű a felhasználók körében. Amióta elkezdtem használni, teljesen megértem miért ilyen népes a rajongtábora. Szlogenként is hirdetik a just your content dogmát, és meg kell hogy mondjam, valahol nagyon igazuk van.

Az is biztos, hogy ebből nem lesz az új Wordpress. Hiszen egy Jekyll alapokon működő bloghoz elengedhetetlen valamennyi technikai tudás. Persze minél jobban lát a felhasználó a dolgok mögé, annál könyebb dolga lesz.

“No more databases, comment moderation, or pesky updates to install—just your content.”

De nézzük is meg ezeket az előnyöket:

  1. Nincs mögötte adatbázis, mivel az oldalak előre le vannak generálva. Ez sebességben vagy akár biztonsági szempontból is előnyös lehet.
  2. Nem kell bajlódni a hozzászólásokkal és a spam botokkal. A Jekyll oldalak nagy része a Disqus rendszerét használja ezeknek a feladatoknak a megoldására.
  3. Nincs update kényszer. Tehát nem omlik össze a világ, ha nem rakod fel a szerverre a lefrissebb security updétet a Drupal vagy a Wordpress oldalad alá.
  4. És mivel statikus oldalak gyűjteménye, ezért egy olyan tárhelyen is elfut ami nem támogatja a dinamikus oldalakat mint például a Github Pages (ami ingyenes) vagy akár egy Amazon S3 bucket.

Jól hangzik? Akkor lássuk milyen magas léceket kell megugrani.

Kezdeti lépések

A következőkben a Windows rendszeren nézzük végig a lépéseket, amik szükségesek a telepítéshez.

Ruby telepítése

Erre Windows alatt a legegyszerűbb megoldás a RubyInstaller használata. A letöltések oldalon válasszuk ki a gépünk architektúrájának megfelelő installert és töltsük le azt.

Telepítsük, és közben ne felejtsük el bepipálni a Add Ruby executables to your PATH jelölőnégyzetet.

Miután a telepítés elkészült navigáljunk vissza a RubyInstaller letöltések oldalára és a lap aljáról töltsük le a telepített Ruby verzióhoz és számítógépünkhöz illő Development Kit-et.

Tömörítsük ki a Devkit fájljait egy tetszőleges könyvtába. Arra viszont figyeljünk oda, hogy ne legyen szóköz a könyvtár elérési útvonalában.

Majd navigáljunk a kitömörített fájlok könyvtárába és írjuk be a parancssorba a következőt, hogy megtaláljuk a már telepített Ruby-t.

ruby dk.rb init

Ez beleírja a könyvtárban található config fájlba a felfedezett telepítés útvonalát. Ha mindent rendben találtunk akkor indítsuk el a telepítést a következő paranccsal.

ruby dk.rb install

Ha a telepítő hibák nélkül végzett, akkor készen is állunk a Jekyll telepítésére.

Jekyll telepítése

A telepítéshez írjuk be a parancssorba a következő utasítást.

gem install jekyll

Várjuk végig a folyamatot. Ha minden hiba nélkül lefutott, akkor a Jekyll települt a gépünkre.

A helyi fájlok megfigyeléséhez és a statikus fájlok automatikus újragenerálásához Windows alatt lehetséges, hogy szükségünk van egy újabb Gem telepítésére. Így ha problémákat tapasztalnátok, akkor írjátok be a parancssorba a következő utasítást.

gem install wdm 

Statikus oldalak a gyakorlatban

A Jekyll beépített helyi fejlesztői környezettel rendelkezik. Így a következő utasítással az oldalunk elérhetővé válik a http://localhost:4000/ címen keresztül.

jekyll serve 

Régebben szükséges volt a --watch paraméter használata, de a 2.4 verzió óta a serve parancs automatikusan figyeli a könyvtárakat. Ha ezt el akarjuk kerülni akkor kikapcsolhatjuk a --no-watch paraméterrel.

Ha csak a generálást szeretnénk lefuttatni, akkor a követző paranccsal megtehetjük.

jekyll build

Ezzel a _site könyvtárba generálódnak le a statikus fájlok amik az oldalunkat alkotják majd. Ennek a könyvtárnak a tartalmás sose szerkesszük, mert a változtatásaink felülíródnak majd a következő generálás során.

Hogyan tovább

Érdemes mások munkáiból tanulni, így keressünk egy szimpatikus template-et és teszteljük mit tudunk összehozni.

Nagy segítségünkre lesz a Jekyll online domkumentációja is, ami különösen jóra sikerült.

El ne felejtsük majd kivételként kezelni a .gitignore fájlban a _site és a .sass_cache könyvtárat, ha verziókövetni akarjuk a projektünket.

Deploy folyamatnak pedig vannak okos megoldások mint például a Glynn vagy írj saját deployt batch fájl alapon.

További tartalmak