Hugo

Komentarze GitHub Issues na blogu Hugo korzystającym z GitHub Pages

Jakiś czas temu Disqus wprowadził reklamy w swoim systemie komentarzy i bez mojej świadomej oraz dobrowolnej zgody serwował je użytkownikom odwiedzającym mojego bloga. W tamtym czasie nie miałem za bardzo informacji jak te komentarze zastąpić na statycznej stronie renderowanej przy pomocy Hugo. Jako, że sporo osób narzekało na to, że tutaj nie ma komentarzy, przez co liczba maili, które do mnie docierały, była trochę ponad moje moce przerobowe. Postanowiłem zatem zaimplementować system komentarzy oparty o GitHub Issues, czyli ten mechanizm, z którym prawdopodobnie każdy z nas miał już styczność zgłaszając bug'a (czy też inne zapytanie) twórcom swoich ulubionych linux'owych projektów OpenSource. Okazało się, że przy pomocy API GitHub'a można w dość prosty sposób te komentarze pokazać na blogu ale problem pojawił się w przypadku stron mających setki czy nawet tysiące wpisów już opublikowanych. Jak zatem na takich blogach wdrożyć komentarze GitHub'a, tak by przy okazji nie wyskoczyć z okna o 5 nad ranem?

Disqus wprowadza reklamy, Disqus musi odejść

Sporo użytkowników przeglądających tego bloga zdążyło już zauważyć, że sekcja komentarzy została usunięta. W efekcie czego nie można już komentować żadnych wpisów. Taki zabieg miał miejsce ze względu na fakt, że sporo osób zaczęło mi zgłaszać, że na Morfitroniku pojawiły się reklamy. Wszyscy znają raczej moje zdanie w kwestii serwowania ludziom reklam i mocno się zdziwiłem, że pojawiły się one właśnie tutaj. Ja nikomu żadnego pozwolenia na wykorzystywanie mojego bloga jako platformy reklamowej nie udzieliłem. Okazuje się jednak, że Disqus (bo to jego system komentarzy był tutaj wykorzystywany) nawet nie pofatygował się, by zapytać mnie o zgodę na serwowanie reklam i bezczelnie zaczął je w komentarzach umieszczać. Jak tylko się dowiedziałem, że te reklamy faktycznie w tych komentarzach są oraz, że nie mam żadnego wpływu na to, by je usunąć, to postanowiłem natychmiast wywalić Disqus'a.

Migracja bloga z Jekyll na Hugo i jego publikacja w GitHub Pages

Prawdopodobnie zauważyliście drobne zmiany w wyglądzie tego bloga oraz pewnie też cześć osób miała w ostatnim czasie problemy z uzyskaniem do niego dostępu. Odpowiedzialne za zaistniałą sytuację są limity narzucone przez GitHub Pages. Zakładają one maksymalny rozmiar repozytorium pod stronę WWW w granicach 1 GiB oraz czas budowania takiego serwisu krótszy niż 10 minut. Limit miejsca na pliki przekroczony został w zasadzie w chwili przeniesienia bloga WordPress na GitHub Pages. Natomiast parę dni temu został przekroczony limit czasu budowania tego projektu. Do momentu transformacji, niniejszy blog działał w oparciu o Jekyll, który generował w zasadzie statyczny kod HTML ze zwykłych plików tekstowych (np. artykuły pisane w MarkDown). GitHub Pages posiada wsparcie dla Jekyll, przez co taką stronę WWW można bardzo prosto wdrożyć. Niemniej jednak, cały ten mechanizm generowania projektu w obrębie infrastruktury GitHub'a zajmuje bardzo dużo czasu. Po rozmowie z supportem okazało się, że gdyby chodziło o miejsce na pliki, to mogli by nagiąć reguły i nie było by problemu ale nie dadzą rady tego zrobić w przypadku przekroczenia czasu generowania projektu. Dlatego też trzeba było zrezygnować z Jekyll'a i poszukać dla niego jakiejś alternatywy. Padło na Hugo, który w odróżnieniu od Jekyll'a nie jest jako tako wspierany przez GitHub i by stronę wygenerowaną przez Hugo podpiąć pod GitHub Pages trzeba się trochę wysilić, bo ten proces nie jest automatyczny i właśnie o tym jak dokonać migracji z Jekyll na Hugo w kontekście GitHub Pages będzie ten poniższy artykuł.