sobak.pl

Szewc bez butów byłoby prawdopodobnie najbardziej adekwatnym określeniem mojej strony przez pierwsze 8 lat jej istnienia. Co prawda nie uważam żeby użycie gotowego CMS-a było czymś jednoznacznie złym, jednak drobne pokłady ambicji co rusz mówiły mi, że akurat na osobistą stronę domową mógłbym poświęcić ciut więcej czasu i uczynić ją wizytówką (być może wątpliwej jakości) nie tylko pod kątem treści, ale i wykorzystanych rozwiązań technicznych.

TODO TODO TODO sobak.pl w nowej odsłonie

Po latach odkładania powstał finalny zarys tego, jak mogłoby wyglądać takie rozwiązanie. Po pierwsze, postanowiłem zostać przy sprawdzonym motywie Sorbet. Nigdy nie czułem się kompetentny do narzucania ludziom wytworów mojego zmysłu artystycznego, wolałem skupić się na zawartości i mechanizmach pod maską. Jednocześnie widziałem przyrost problemów, który pojawiał się wraz z wprowadzeniem zaawansowanych systemów zarządzania treścią. W połączeniu z moim umiłowaniem Markdowna jako składni do tworzenia prostych, niesemantycznych tekstów celowałem w rozwiązania spośród Static Site Generatorów. Coś jednak było nie tak… czułem się co najmniej nieswojo z myślą o pozbawieniu strony, bądź co bądź backendowca, jakiegokolwiek backendu i idącej za tym dynamiki.

Tak właśnie powstał projekt prototypowo określony jako Perception. Hybryda typowych CMS-ów z generatorami stron statycznych właśnie. Za źródło danych służą statyczne, wersjonowane pliki Markdown. Nie są one jednak konwertowane bezpośrednio do prostych plików HTML, a umieszczane w tymczasowej bazie danych, co pozwala na stworzenie w zasadzie konwencjonalnej aplikacji WWW, zawarcia w niej dowolnych mechanizmów dynamicznych przy jednoczesnym utrzymaniu zalet braku panelu administracyjnego (czy części poświęconej zarządzaniu w ogóle).

Napisana z użyciem frameworka Laravel, zrefactorowanego motywu Sorbet oraz dużej ilości spokojnych wieczorów aplikacja nie jest co prawda arcydziełem sztuki inżynierskiej, ale powinna mi zapewnić wystarczającą elastyczność na najbliższe kilka lat.

Zainteresowanych zapraszam do obejrzenia kodu źródłowego, jednocześnie proszę by mieć na względzie, że jest to w zasadzie próba osiągnięcia złotego środka między rozwiązaniem spełniającym moje wymagania, a jednocześnie napisanym na tyle prosto bym nie porzucił jego tworzenia w połowie.

Lista różnic względem poprzedniej wersji opartej o WordPressa została zawarta w [odpowiednim wpisie na blogu TODO], a podstronę poświęconą temu poprzedniemu wcieleniu mojej witryny można znaleźć w tym miejscu.

Zobacz stronę
Zobacz kod źródłowy na GitHubie