Blog 2.0
Oto i ona – nowa, odświeżona wersja mojego bloga! Miało być bardzo minimalistycznie i myślę, że to osiągnąłem. Co więcej, pojawiła się możliwość wyboru motywu (jasny, ciemny, automatyczny)!
Trochę szczegółów technicznych
Poprzednia wersja bloga stała na Jekyllu. Głównie dlatego, że korzystałem z GitHub Pages (GHP), z którymi Jekyll jest domyślnie zintegrowany. Niemniej nie da się ukryć, że Jekyll już trochę trąci myszką, a same GHP ograniczają możliwości jego rozszerzania dodatkowymi gemami. Więc postanowiłem, że nowa wersja bloga będzie stała na czymś nowszym, JS-owym, co przy okazji da mi większą możliwość dostosowania całości pod wymagania mojego bloga.
Wybór tak naprawdę sprowadził się do dwóch narzędzi: Astro i Eleventy (11ty). Ostatecznie wygrało to drugie. Nie bez znaczenia był tutaj fakt, że jeden z moich poprzednich projektów oparłem właśnie na 11ty. Oczywiście – z racji tego, że to ekosystem JS-a – nie mogło być idealnie. 11ty jest obecnie na rozdrożu: obecna wersja 2.0 wciąż stoi na CJS, podczas gdy nadchodząca wersja 3.0 – już na ESM. Co oznacza, że prawdopodobnie wkrótce czeka mnie kolejny spory refactor bloga…
Jednym z dziwniejszych wyzwań były… ślimaki. W sensie slugs, czyli automatycznie generowane identyfikatory poszczególnych nagłówków. Dzięki nim można linkować bezpośrednio do konkretnych sekcji postów. Chciałem, żeby sposób generowania był dokładnie taki sam, jak w Jekyllu. Dzięki temu wszystkie linki do mojego bloga, w których były jakieś kotwice, powinny dalej działać. Okazało się jednak, że Jekyll ma dość mocno zepsute ślimaki… przez co chwilę mi zajęło zepsucie ich w ten sam sposób w 11ty. Ostatecznie jednak się udało.
Niemniej i tak nie wszystkie linki będą działać. Zrezygnowałem bowiem z GHP na rzecz Cloudflare Pages (CFP). To oznacza, że linki zaczynające się od https://comandeer.github.io/blog/
nie będą już dłużej działać – aczkolwiek nie sądzę, żeby był to jakiś spory problem. Wprowadziłem własną domenę (https://blog.comandeer.pl
) stosunkowo szybko i zdecydowana większość linków, jakie gdziekolwiek zostawiłem, powinny z niej korzystać. Natomiast sama przesiadka, oprócz standardowych udogodnień (jak choćby możliwość definiowania przekierowań), ma też jedną rzecz, która wywołuje u mnie mieszane uczucia. Otóż CFP usuwają .html
z końcówki URL-ów – a ten blog od zawsze korzystał z .html
w URL-ach. Ostatecznie nowe rozwiązanie jest lepsze z perspektywy UX, aczkolwiek byłoby miło, gdyby dało się to jakoś skonfigurować. Jak dotąd takiej opcji nie znalazłem.
Przy okazji wywaliłem też Disqusa na rzecz Giscusa – czyli systemu komentarzy opartego na GitHub Discussions. Spróbowałem też zaimportować stare komentarze z Disqusa i… cóż, udać się udało, ale rezultat pozostawia sporo do życzenia. Disqus pozwala wyeksportować komentarze wyłącznie w swoim własnym – skrajnie udziwnionym, rzecz jasna – formacie XML-owym. Przerobiłem to na JSON strawny dla 11ty i generuję komentarze z Disqusa pod postami, w których kiedyś się znalazły, np. pod pierwszym postem na blogu.
Ach, no i blog jest teraz PWA, więc można go sobie zainstalować i czytać offline. Co prawda obecny service worker jest mocno naiwny, ale kiedyś się poprawi.
I to w sumie na tyle. Miłego czytania!
Komentarze
Przejdź do komentarzy bezpośrednio na Githubie.