[rosedu-general] [ACTION NEEDED][RFC]Jekyll breaking updates

Mihai Maruseac mihai.maruseac at gmail.com
Fri Oct 11 20:03:20 EEST 2013


2013/10/11 Alexandru Tudorica <tudalex at gmail.com>:
> Disclaimer: Nu am lucrat cu jekyll.
>
> 2013/10/11 Mihai Maruseac <mihai.maruseac at gmail.com>:
>> Hello,
>>
>> (dacă vreți să vedeți ce e de făcut fără a citi povestea ctrl-f
>> ACTION. Pentru RFC ar trebui să citiți totuși tot mailul)
>>
>> Cei de la jekyll au făcut un set de upgrades fără backwards
>> compatibility și se pare că vor continua procesul ăsta în viitor[1].
>
> De unde reiese ca vor continua acest lucru in viitor? E deobicei de
> asteptat ca la trecerea la o alta versiune majora sa fie breaking
> changes, dar nu exista un tool care sa migreze site-urile intre
> versiuni?

Este un warning în pagină care zice că o opțiune din config este
default true acum, se mută pe false în minor-release-ul urmator si
apoi dispare cu totul nemafiind suportată.

Nu există tool de migrare pentru că lucrurile sunt destul de simple:
rulezi un ruby gem peste niște fisiere și speri ca duck-programming să
funcționeze ca lumea.

>
>> Întâi am crezut că e de la mine și că-i afectează doar pe cei cu
>> near-bleeding-edge-or-above dar Matei mi-a semnalat problema și pe
>> Ubuntu 12.04 care e destul de stable (as in not bleeding).
>>
>> Sunt 2 probleme majore de fapt:
>> * scripturile de fabricate (build și deploy) trebuiesc schimbate
>> pentru a accepta noile comenzi (în prezent jekyll fără nici un
>> argument afișează manpage-ul într-un less -wtfwtf).
>> * Maruku are problemă cu escape-ul de cod: convertește '<' etc. în
>> HTML, le unescape după și apoi se plânge că sunt invalid HTML (closed
>> on https://github.com/bhollis/maruku/issues/97 dar nereleased / not
>> working)
>
> Nu exista alt renderer cu sintaxa apropiata? Nu putem sa nu il updatam?

Asta ziceam mai jos. Schimb Maruku în kramdown sau altceva, trebuie investigat.

>>
>> Prima problemă aș putea s-o rezolv în 30 de minute maxim. A doua cred
>> că cere să schimbăm temporar renderul de la markdown la html. Voi
>> investiga.
>
> Care e diferenta intre a avea un site html si unul cu jekyll cu html?

HTML chior pe repo: ai probleme în momentul în care vrei să incluzi
cod, formule, citate, etc. Te încurci in markup și escape sequences.

Jekyll: scrii fișiere text, le ții doar pe astea în repo, rulezi un
generator și obtii un HTML pe care-l urci pe server (rsync). În trecut
foloseam branch separat de git pentru publish dar am renunțat cu mult
timp în spate atât din cauză că nu scala dar și din cauză că punea
mult emotional strain pe admini.

>>
>> Alte schimbări:
>> * există suport pentru drafts și paginare implicită. Le voi testa și
>> voi face update dacă funcționează ok
>> * câteva opțiuni din config file au semantica schimbată foarte mult.
>> Vor trebui analizate (jekyll doctor)
>>
>> ====== ACTION =====
>> Spuneți-mi ce alte site-uri de-ale noastre mai folosesc Jekyll
>> exceptând techblog, site și pagina cu listele de discuții. Vreau să
>> fac update la toate în paralel (testez pe techblog, instanță locală pe
>> mithlond).
>>
>> ====== RFC =====
>> Varianta a doua ar fi să ditch jekyll (că developerii de Ruby nu știu
>> de backwards compatibility -- cel puțin în cazul ăsta) și să ne
>> îndreptăm spre alt generator de site-uri statice, mult mai versatil.
>> Aici vreau să fie o decizie informată din partea tuturor celor
>> implicați.
>
> Ne poti indruma catre niste variante?
>

Aș sugera Hakyll (http://jaspervdj.be/hakyll/) este echivalentul
Jekyll dar mult mai configurabil și într-un limbaj fără duck-typing.
Înainte de a-mi sări în cap că de ce Haskell consultați repo-ul lui
Lucian (https://github.com/spyked/thetarpit.org) și comparați cu
repo-ul oricârui din cele 6 site-uri Jekyll ale noastre. Exceptând
fabfile.py <--> site.hs restul layoutului este similar iar site.hs nu
trebuie modificat decât dacă avem nevoie de lucruri extra fancy (ceea
ce nu este cazul). Plus există un suport de plugins mai dezvoltat și
mai stabil și sunt suportate mai multe template-uri pentru fișierele
de intrare din care se generează html-ul final (inclusiv LaTeX sau
literate programming files sau mixturi între ele). De instalat, e la
doar un apt-get/yum distanță față de Jekyll unde ai de instalat ruby,
gems și apoi gem-urile necesare. Oricum, instalarea ține doar de
maintaner, se face local la el, pe site nu ajung decât HTML-uri.

Legat de PS: Pe techblog am avut mega trafic legat de articolul despre
criptografie (46K vizite în 2 zile consecutive). Când s-a propus ideea
de site static pentru techblog fix la asta ne gândeam să prevenim.
Plus faptul de a nu mai instala lucruri suplimentare pe server
(wordpress, bază de date separată, useri separați, creat useri pentru
fiecare persoană care vrea sa scrie, pierdut versionare articole,
probleme cu codul pe wordpress etc.) Finally, Varnish și Cloudfare
presupun instalări suplimentare pe server, nu cred că merită. Plus că
ar fi efort destul de mare să faci trecerea înapoi la Wordpress din ce
e acum.

-- 
MM
"All we have to decide is what we do with the time that is given to us"


More information about the rosedu-general mailing list