Prijatím zoly ako môjho nástroja na generovanie statických stránok (SSG) som úspešne dokázal opustiť Sapper. V novom nastavení blogu sa však objavil pomerne závažný problém, ktorý zostal niekoľko dní nepovšimnutý.

Konkrétne, problém bol s URL odkazmi. Je veľmi dôležité udržiavať URL rovnaké alebo aspoň zabezpečiť správne presmerovanie. Ďalšie postrehy o URL som zachytil aj v tomto príspevku. Problém bol v tom, že nové odkazy vyzerali takto:

https://peterbabic.com/upgrading-wiringpio-raspberry-pi-4/

Ale pôvodné odkazy vyzerali takto:

/blog/upgrading-wiringpio-raspberry-pi-4/

Vidíte? URL chýbala časť blog/, ktorú som sa rozhodol nazývať prefixom, pre nedostatok lepšieho slova po ruke. Slovo po ruke? Nech už.

Príznak #

O probléme som sa vlastne dozvedel náhodou, keď som sa pokúšal vložiť nejaké odkazy na sociálne médiá, ale na odkazoch získaných z adresného riadka prehliadača som dostával 404. Vedel som, že by mali byť v poriadku, pretože som ich musel navštíviť predtým, keďže história prehliadača obsahovala záznam.

Najprv som si myslel, že môj server je možno nefunkčný, ale všetko ostatné tam bežalo. Potom bežala aj domovská stránka blogu a klikanie na odkazy na jednotlivé príspevky fungovalo, no odkazy z adresného riadka boli nefunkčné. A vtom mi to došlo.

Pridanie URL prefixu #

Keď som si uvedomil, že je to dosť závažné, zastavil som to, čo som robil, a začal zisťovať, ako to opraviť v Zole. Potreboval som tam pridať segment blog/, ale žiadne skutočné konfiguračné nastavenie sa mi nepodarilo nájsť.

Samozrejme, žiadna konfigurácia neexistovala - musel som skutočne presunúť súbory z adresára content/ do /content/blog a potom zariadiť zvyšok. Po chvíľke boja prišlo riešenie:

  • Presuňte pôvodný _index.md teraz sídliaci v content/blog/_index.md o úroveň vyššie, späť do teraz prázdneho content/:
+++
sort_by = "date"
paginate_by = 7
+++
  • Vytvorte ďalší _index.md na jeho pôvodnom mieste v content/blog/_index.md:
+++
transparent = true
redirect_to = "/"
+++

Jednoduché, však? Teraz sú všetky odkazy také, aké boli pred konverziou zo Sapperu na Zolu. Možnosť redirect nie je úplne nevyhnutná, ale je pekné ju mať. Najdôležitejšia časť je transparent = true. Tá v podstate presúva zodpovednosť na _index.md o úroveň vyššie.

Nižšie sú uvedené odkazy, ktoré diskutujú o tom, čo robí možnosť transparent, keďže si stále nie som celkom istý a zatiaľ mi zvolená nomenklatúra (transparent, hm?) príde veľmi mätúca - prečítajte si to, aby ste získali ešte lepší prehľad. Príjemné písanie.

Odkazy #