Nem Java, de mégis java static site generáló - avagy Nanoc Java-ban

Szóval static site generaló alkalmazást keresek. Pontosabban olyat, ami Java alatt is működik és elég rugalmas az igényeimhez. És megtaláltam.

Mint korábban is említettem, különféle okokból, de csak Java alapú megoldás jöhetett számításba (leginkább telepítési/futtatási korlátoltságom van).

Amilyen sok megoldás van Python vagy Ruby nyelven, hogy az a csodálatos, hogy mennyire nincs Java alapú megoldás.

Vannak régi site generáló megoldások (akár a Maven beépített megoldását is nézhetjük), de annyira fapadosak, hogy az dolgozzon velük, akinek két anyja van.

Találtam egyetlen egy Groovy alapú megoldást, de az valami elképesztően kezdetleges volt.

Én saját magam is elkezdtem egy csökevényt QSiteGen néven. De ez inkább azt bizonyítaná, hogy egy cél-implementációt milyen egyszerűen meg lehetne valósítani. (Lehet, hogy ez az ok, miért is nincs Java-ban egy kiforrott projekt erre.)

Jóval fejlettebb a Scala-ban implementált Monkeyman. Teljesen használható a 0.4-es verziója. De még vannak gyermekbetegségei. Például egy kicsit korábbi verziójában még alap UTF-8 kódolási gondok voltak.

Persze voltak a blog-generálók is. A blog generáló az a jószág, ami egy általános static site generáló egy specializált funkcióját képviselik. Természetes limitációjuk, hogy blog készítésére vannak kihegyezve. De ha nem blogra van szükséged….

A szigorúan vett Java megoldások ezzel véget is értek.

De mint említettem az igazi nagyágyúk scripting nyelvek alatt érhetőek el. És hát van nekünk olyan, hogy JRuby. Igaz, hogy a futtató környezetet telepíteni vagy akár csak letölteni nem tudok kis otthoni barkácsolással van megoldás. Lássuk hogy megy ez nanoc-val.

  1. Tölts le a JRuby complete.jar kiadását (jelenleg jruby-complete-1.7.4.jar). Ez egyetlen egy darab jar, ami tartalmazza a teljesen Ruby interpretert és alap library-t.
  2. Másold le mint jruby-complete.jar (hidd el, párszor meg fogod ismételni, mire elkészíted a saját verziódat).
  3. A trükk az, hogy ezzel a disztribúcióval bármit tudsz csinálni. Fogod magad és letöltöd a neked tetsző gem-eket és élvezed. Persze vannak korlátok, hiszen a C kiterjesztéssel működő gem-ek nem fognak simán működni, de a tisztán Ruby-ban implementált gem-ekkel nem szabad, hogy gond legyen. (Egyébként jelenleg ez a leggyorsabb Ruby implementáció, ha a start-up időt nem számítjuk.)
  4. töltsd le a szükséges gem-eket, nanoc és függőségeit: (pl.: kramdown)
java -jar jruby-complete.jar -S gem install -i ./nanoc-gems nanoc kramdown
  1. Updateld a JRuby jar filet:
jar uf jruby-complete.jar -C nanoc-gems/ .
  1. kezd el használni a nanoc-ot (honlapról vett példa): java -jar jruby-complete.jar nanoc create-site tutorial stb…

Szerintem minimum szükséges gem-ek listája:

De ezzel még nincs vége, mert nanoc-ot feltehetőleg amerikai csinálta, mert minden input esetében az operációs rendszer karakterkódolását használja. (21. század! Érted?) De ott van nanoc.yaml, amiben kis módosítással megkaphatjuk a hőn áhított magyar ékezeteket. (FONTOS: figyelj oda, hogy spacekkel vagy tab-val dolgozol, mert érzékeny rá. Notepad++-ban kapcsold be a rejtett karakterek megjelenését!) És állíts be az enkódingot (1 sor a megfelelő helyre, meg fogod találni)

type: filesystem_unified
# ez az új sor
encoding: utf-8

És már dolgozhatsz is az egyik legszuperebb static site generálóval.

Ha kíváncsi vagy, hogyan is generálom ezt a site-ot, akkor kezdj el böngészni a Github-on

Jun 09, 2013
comments powered by Disqus

Links

Cool

RSS