Tento blog píšu už nějakých deset let. Tenkrát sice už existoval WordP­ress, ale z nějakého důvodu jsem zvolil redakční systém Nucleus, který už je dnes úplně mrtvý. Divím se, že mi za ta léta blog nikdo nehac­knul (nebo o tom alespoň nevím). S příchodem Let’s Encrypt jsem si říkal, že by kovářova kobyla nemusela chodit bosa a že bych taky mohl přejít na https, ale nechtělo se mi šťourat v PHP. Jednou jsem narazil na deset nejlepších static­kých generátorů stránek, na nějakou dobu jsem si odkaz založil a nakonec se rozhodl do toho říznout. Takže tento blog je dnes staticky genero­vaný pomocí Jekyll a hosto­vaný na CDN Netlify.

Už dříve si lidé (a Google) stěžo­vali, že se moje stránky nedají moc číst na mobilu, tak jsem se na začátek spustil audit Testmysite.io a výsledky nebyly vůbec licho­tivé, vlastně byly dost tristní.

Stav před

Jekyll

První weby byly statické. Mně z dynamič­nosti neply­nula žádná výhoda. Web to zpoma­lo­valo a hrozilo mi bezpeč­nostní riziko. Podrob­něji vše rozebírá článek Why Static Website Genera­tors Are The Next Big Thing.

Zbývalo vybrat generátor static­kých stránek a nejsym­pa­tič­tější mi přišel Jekyll. Při migraci se potvr­dilo, že to byla dobrá volba. Dobrá dokumen­tace, fungující komunita a ani Ruby pro mě nebylo překážkou.

Netlify

Již zmiňo­vaný článek srovnávající deset nejlepších static­kých generátorů stránek byl na strán­kách Netlify, posky­to­va­tele CDN (Content delivery network), který se mi zalíbil. Navíc se vejdu do programu zdarma.

Jistě se ptáte, proč jsem nezvolil GitHub Pages. Ty totiž nemají způsob, jak konfi­gu­rovat 301 redirect. Dalo by se to možná obejít pluginem pro http refresh, ale to mi nepřišlo tak elegantní, systémové a ani se mi nechtělo zkoušet, jak se k tomu staví vyhledávače.

Výrazné zlepšení připi­suji i HTTP/2, pro jehož nasta­vení jsem nemusel dělat vůbec nic. K proble­ma­tice doporučuji HTTP/1.1 vs. HTTP/2: A Perfor­mance Analysis a pokrač­ování Part 2 - performance.

Pluginy

Použil jsem násle­dující pluginy

HTTPS

Na strán­kách jakpsatweb.cz vyšel pěkný článek, jak již fungující stránky převést na protokol https s podrobným návodem. Není to žádná věda, ale přesto se hodí seznam věcí, na co nezapo­me­nout. Jedná se třeba o obrázky z jiných stránek, které musíte také vkládat s https adresou. Vše pak zkont­ro­lu­jete pomocí nástroje JitBit SSL Check. Na Netlify nakonec jen zaškrt­nete, že chcete HTTPS, a je to.

Stav poté je mnohem lepší

Co mi ještě nefunguje

Dělení článků jen pomocí kategorií je možná příliš hrubé a asi by se hodily tagy. Je to jen otázka konfigurace.

Mnohem větší výzvou jsou pevné (neděli­telné) mezery. Vzpomněl jsem si, jak jsem sázel bakalářku v LaTexu. Používali jsme program vlna, který do textu neděli­telné mezery vkládal (v syntaxi LaTeXu je to právě vlna, ~). Potře­boval bych vytvořit plugin pro Jekyll, který vkládá neděli­telné mezery podle českých pravi­del. Dobrý námět na vedlejší projekt a způsob, jak se naučit Ruby.

Poslední věc, kterou jsem ještě nezmig­ro­val, jsou komen­táře. U novějších článků už jsem používal Disqus, kde byla migrace snadná (šlo jen o změnu url), ale ty nejstarší mám pouze v databázi. Import se mi zdá příliš kompli­ko­vaný až nemožný (jestli to někdo umíte, dejte prosím vědět).

Zdrojové kódy

Zdrojové kódy blogu jsou k dispo­zici na GitHubu.

Závěr

Staticky genero­vaný web je pro trochu technicky zdatného člověka vhodný „redakční systém“, není potřeba všude nasazovat WordP­ress. Jekyll je dobrá volba generátoru a Netlify vyhovující hosting.