No i dałem się namówić. Przeniosłem swojego bloga z kontroli Wordpress'a na rzecz statycznych stron generowanych za pomocą narzędzia Jekyll. Ostatnie dni to było wielkie tworzenie layoutu (w oparciu o mój poprzedni layout Fluid Blue theme dla WP), tworzenie szablonów oraz migrowanie postów.

Jekyll wprawdzie nie jest platformą publikacji. Jest to narzędzie do generowania stron statycznych na podstawie zdefiniowanych szablonów ze szczególnym wsparciem dla blogów. Narzędzie to stworzone jest w języku Ruby, instalowane jako Gem. Wykorzystuje język znaczników markdown do formatowania dokumentów a także Liquid. Połączenie to daje w wyniku całkiem fajne środowisko do tworzenia - generowania - blogów.

Dodatkowo użyłem Disqus'a do obsługi komentarzy w postach. Platforma ta pozwala na proste i szybkie dodawanie usługi komentarzy poprzez dodanie kilku tagów JavaScript'owych. Komentarze przetwarzane są w chmurze toteż nie muszę się martwić backapowaniem i ewentualną ich migracją.

Oto jakie są główne zalety tego rozwiązania:

  • Strony są statyczne - ładują się dużo szybciej, nie trzeba bawić się z jakąkolwiek konfiguracją serwera WWW.
  • Dane trzymane są na dysku pod kontrolą Git-a, przez co nie muszę martwić się backupowaniem danych, nie muszę być online by edytować posty, wrzucenie na serwer to po prostu skopiowanie ich (czyli migracja w 5 sekund).
  • Komentarze przetwarzane w chmurze, czyli znów backup i migracja z głowy.
  • Pełna kontrola nad wyglądem strony.

Oczywiście podejście to wymagało ode mnie stworzenia szablonu i layoutu strony, jednakże efekt końcowy daje lepszą frajdę. No i lepsza jest kontrola nad ostatecznym wyglądem strony. Do definiowania wyglądu możemy używać standardowego HTML'a i CSS'a, jednakże możemy również użyć Haml'a i Sass'a. Ja na razie wykorzystuję tę pierwszą parę.

Pewnie jeszcze będę zmieniał wiele rzeczy w wyglądzie bloga. Na razie przemigrowałem z Wordpressa i zobaczymy jak się będzie pracowało z Jekyll'em. Kolejnym etapem będzie stworzenie kilku tasków Rake'owych aby ułatwić sobie niektóre zadania (jak tworzenie plików archiwum itp.). Jeżeli ktoś jest ciekawy jak wygląda kod źródłowy można go podejrzeć na moim profilu GitHub.