Hugo

Jekyll był jedynie pierwszym krokiem w pięknym świecie generatorów stron statycznych. Kilka dni temu rozpocząłem proces zamiany go na, moim zdaniem, lepszy model: Hugo.

Nie będę się specjalnie rozwodził nad zaletami i wadami statycznych generatorów stron, bo tego rodzaju listy można znaleźć w wielu zakątkach internetu. Polecam blogo-coś medium.com, gdzie przy zakładaniu konta wymagane jest chyba napisanie tego rodzaju artykułu, albo przynajmniej listy dziesięciu najlepszych pluginów do Vima.

Nie będę też porównywał Hugo i Jekylla, gdyż z perspektywy czytelnika dowolnej strony internetowej takie porównanie jest kompletnie bez znaczenia. Grunt, że to co jest między Hugo a mną to miłość od pierwszego wejrzenia, chociaż jak każda miłość, nie obyła się ona bez pewnych wyrzeczeń i poświęceń - ale to tylko dodaje smaczku i pikanterii. Musi wystarczyć, że powiem, iż świat komputerów rządzi się nieco innymi prawami - tutaj szybki numerek jest przyjemniejszy, bardziej satysfakcjonujący i stanowczo preferowany niż długi i ciężki erotyczny maraton z pełną grą wstępną i przytulaniem po wszystkim. If you know what I mean1.

Z kronikarskiego obowiązku wspomnę tylko następujące kwestie:

  • Hugo domyślnie inaczej obsługuje strukturę wpisów i tworzy permalinki na podstawie fizycznego położenia plików. Oznacza to, że zmieniły się permalinki prowadzące do wszystkich artykułów. Mogłem co prawda stworzyć np. aliasy lub zostawić URL-e zdefiniowane w czasie importu (Hugo posiada wbudowaną komendę importu z Jekylla), jednak zdecydowałem się na, mam nadzieję, dobrą zmianę. Przede wszystkim poprzednia struktura linków (rok/miesiąc/tytuł) nie przystawała zupełnie do częstotliwości, z którą publikuję kolejne wpisy. Poza tym nowa (kategoria-wpisu/tytuł) zostawia większe pole manewru w przypadku gdybym zdecydował się na tworzenie wpisów o innej kategorii niż post;
  • niestety, Makefile odpowiedzialny za deployment bloga nieco się skomplikował, gdyż jednego permalinka nie chciałem zmieniać za żadne skarby - do kanału RSS. Hugo niestety domyślnie nie pozwala zmianę tego URL-a;
  • przy okazji kanałów RSS, to Hugo pozwala na ich większą granularność. Swoje kanały posiadają wszystkie taksonomie i są one dostępne poprzez dopisanie w ich adresie /index.xml. Nie udostępniam ich w nagłówkach stron, bo są one “nieoficjalne” - nie wiem kiedy strzeli mi do głowy kolejna zmiana generatora i czy następny będzie miał coś takiego zaimplementowane.
  • w końcu działają tagi;
  • strzałki na końcu podpisów będące odnośnikami powrotnymi generują się haniebnie - pod blokiem <p> podpisu. Jest to raczej jednak wina silnika Markdown wykorzystywanego przez Hugo (Blackfriday) niż samego Hugo. Póki co szukam rozwiązania pozajavascriptowego, bo nie widzi mi się wykorzystywanie tego ubogiego języka do przesuwania elementów drzewa DOM, które sam wcześniej generuję;
  • przy okazji poprawiłem lub uściśliłem kilka spraw: na przykład kwestię licencjonowania zawartości tego bloga.

  1. dla osób, dla których moja zawoalowana figura słowna jest zbyt zawoalowana: Hugo kończy generować całego tego bloga jeszcze zanim zdążę przesunąć palce z powrotem na home row2 po wydaniu komendy make

  2. asdf jkl;