Pouziva nekdo nebo dokonce programoval nekdo static site generator? rubrika: Návrh

6 LeonardoCA
položil/-a 10.3.2016

Sam jsem zadny zatim nezkusil. Jen jsem se letmo na par projektu dival.

A proto by me zajimaly jakekoli vase zkusenosti a nazory, at uz na koncept obecne nebo na konkretni produkty.

Vim, ze static site generators jsou pomerne oblibene pro blogy tech uzivatelu. Zajimalo by me hlavne jestli nekdo vyuzil i pro nejaky jiny web + duvody/vysledky ...?

Komentáře

  • LeonardoCA : Hmm, co me zklamalo je, ze jsem zatim nenarazil na system, ktery by podporoval selektivni kompilaci, jen toho co je opravdu potreba ... Takze to vypada, ze se tyhle systemy hodi na male projekty - radove stovky, max tisice stranek. Viz diskuze https://github.com/jekyll/jekyll/issues/1806 a graf https://gist.github.com/dhcole/6797268 (jsou to 3 roky stare informace, ale nic relevantnejsiho jsem neobjevil) 13.3.2016
  • tdvorak : Jekyll má ve verzi 3 incremental build. 13.3.2016
  • Tomáš Votruba : Co potřebuješ vytvářet za statický web s 1000+ stránkami? 13.3.2016
  • LeonardoCA : @tdvorak: dobra zprava, i kdyz porad jeste to asi neni idealni, kdyz uvadi na konci clanku 45s vs puvodnich 280s @Tomas Votruba: uvazoval jsem o projektu typu, hra, kde by kazdy level mel vlastni stranku a protoze hraci by mohli tvorit a sdilet vlastni levely, tak by jich mohlo byt casem o nekolik radu vic nez tisice ... 14.3.2016
  • Tomáš Votruba : @LeonardoCA: Pokud umíš s PHP, tak si na incrementální generování můžeš udělat vlastní command. Šel bych na to lean metodou => spustit hru a pak řešit úzké hrdlo. Možná bude potřeba řešit místo na hostingu nebo něco jiného. 14.3.2016
  • tdvorak : @LeonardoCA: já bych se domníval, že v takovém případě bude doba buildu ten menší problém. Jak se budou řešit průběžné aktualizace, jak budou hráči nahrávat levely (pull request?), jak ošetřovat práva pro vstup do toho či toho levelu, jak kontrolovat validitu nahraného souboru (platný formát hry, zabezepečení proti XSS a jiným útokům)... Při takových požadavcích bych asi volil nějaký programovací jazyk a databázi, než se trápit s Jekyllem. 14.3.2016
  • peter_1 : Hral som sa s viacerymi SSG, viac ako rok mam na jednom projekte Nanoc k plnej spokojnosti. Teraz poskulujem po Hugo, ktory je napisany v Go a tvari sa rychlo. K tej rychlosti, maju tam videjko s prekladom 5000 stranok za cca 6s. 14.3.2016
  • LeonardoCA : Pro hru by bylo treba samozrejme daleko vic. Jen mi to prislo jako dobry priklad projektu, kde by pocet stranek mohl jit do stovek tisic, ci milonu. A vyuzitim statickych stranek by se mohlo usetrit velke mnostvi prostredku ... 14.3.2016
  • Kit : @LeonardoCA: To buildování můžeš mít zakomponováno do zpracování vstupního formuláře daného levelu. Zkontroluješ práva autora, vygeneruješ stránku a přesuneš ji na definitivní místo. Pak přebuilduješ závislé stránky, např. index. Když se to bude generovat takto průběžně, tak milión stránek nebude problémem. 14.3.2016
  • LeonardoCA : jj a proto se divim, ze vetsina tech generatoru to vubec neresila - pravdepodobne jsou pouzivane jen pro male weby a velke weby si tuhle problematiku resi kazdy po svem ... 14.3.2016
  • Kit : Například Markdown zpracovávám tak, že do databáze uložím nejen původní MD text, ale do dalších sloupců i titulek, perex a také článek zkonvertovaný do HTML. Ovšem jen samotný článek, takže to nesplňuje tvůj požadavek. 14.3.2016
  • mimi.vx : hakyll 2.9.2016
  • Tomáš Votruba : Co sis nakonec vybral a proč? 3.9.2016
  • LeonardoCA : Pro psani v anglictine jsem se rozhodl pro Medium, protoze mi nejde o formu, ale ciste o sdileni myslenek. A na to je Medium stavene. Navic na Medium se pohybuje prevazne inteligentni publikum a to mi vyhovuje. https://medium.com/@LeonardoCA Na psani v cestine jsem se zatim vyprd. Protoze: proc psat cesky pro par lidi, kdyz muzu psat anglicky a komunikovat s lidmi z celeho sveta. Navic bych musel prepinat na ceskou klavesnici a to delam strasne nerad :) Generovani statickych stranek pro vetsi projekty bylo ve fazi uvahy. Zatim jsem nepotreboval, ale resil bych na 99% vlastnim kodem, na miru. 4.9.2016
  • Tomáš Votruba : Díky za podrobnou odpověď. To s tou angličtinou jsi pro mě inspirující - budu psát víc článků anglicky :). Zatím jsem to cílil dle cílovku, ale mrzí mě, že si o tom 95 % populace nepřečte, i když na stránku přijde. To, co jsi zvolil, mi přijde adekvátní k motivaci. Takže příště se zeptám: ne v čem, ale proč chceš publikovat. Díky ještě jednou. 5.9.2016
odkaz
8 tdvorak
odpověděl/-a 11.3.2016

Používám Jekyll na svém blogu (tech) a jsem velmi spokojen. Roky blog běžel na Textpatternu. Očekával jsem snazší editaci a tvorbu obsahu a získal mnohem víc:

  • Obsah je čistý markdown, snadno čitelný a editovatelný i v editoru typu nano. Nebo přímo na Githubu.
  • Kompletní historie všech změn, jak obsahu, tak designu.
  • Netřeba řešit zálohy v klasickém smyslu (zvlášť db a data, kdesi na hostingu nebo vps). Vše leží v git repozitáři, duplikováno lokálně u mě a na githubu. Záloha na další stroj je jen git clone nebo pull repozitáře.
  • Žádné SQL injection a obdobné bezpečnostní problémy běžné pro php CMS.
  • Continuous integration, testovaný build blogu i validita obsahu včetně správnosti odkazů a pod. Více viz dokumentace.
  • Možnost hostovat na GH Pages a neřešit tak vlastní hosting (lze včetně vlastní domény)
  • Snadný deploy, ať už na zmíněné GH Pages, nebo pomocí ssh / rsync, FTP nebo na Openshift, Amazon, cokoliv člověk vymyslí.
  • Web technologicky nezastarává. Čisté HTML nepotřebuje co týden aktualizovat verzi PHP, Node nebo knihoven.

Při implementaci jsem narazil na dvě menší komplikace:

  • Vyhledávání - není žádný backend. Buď se nasadí google search pro vlastní doménu nebo vyřeší frontendové vyhledávání třeba pomocí lunr.js
  • Komentáře už nemohou být vlastním obsahem blogu a je třeba využít nějaké hostované řešení. Disqus je populární, nabízí se i facebookové komentáře. Výhodou je lepší ochrana proti spamu, snazší propagace. Nevýhodou ztráta kontroly nad "vlastními" daty.

Stejné výhody bych viděl třeba u běžné webové prezentace malé firmy. Když použiju wordpress, budu donekonečna řešit aktualizace, zastarávání, hacky a distribuci malwaru, modlit se, jestli zálohy pořád běží a jsou funkční. Řešit, kam jsem založil loginy a hesla. Přitom jak často dělá člověk na takovém webu změnu, aby potřeboval plnohodnotné CMS.

Komentáře

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.