Jekyll - generowanie statycznych stron HTML

Nie, w dzisiejszym wpisie nie chcę Wam opowiedzieć o londyńskim lekarzu zamieniającym się nocą w potwora. Będzie standardowo, czyli o sprawach powiązanych z webmasterką.

Krótki akapit wstępu, bo większość z Was prawdopodobnie nie zna wspomnianego skryptu. Otóż [Jekyll][jekyll] jest to narzędzie, które pozwala wygenerować statyczną stronę na podstawie dostarczonych plików. Można to nawet nazwać CMS-em, bo w pewien sposób umożliwia zarządzanie treścią, jednak w sposób odmienny od większości systemów tego typu. Tak jak wspomniałem wcześniej, Jekyll bazuje na plikach utworzonych przez webmastera. Składają się na nie:

  • Szablony - pliki HTML, które definiują układ i kod strony. Tak jak we wszystkich innych skryptach, zawierają one zmienne, pod które będą podstawiane odpowiednie wartości: np. tytuł strony, czy jej treść
  • Pliki z treścią - tutaj rozróżnić możemy wpisy oraz normalne podstrony
  • Pliki nie parsowane - takie jak pliki CSS czy obrazki

Jekyll sparsuje otrzymane pliki i wyrzuci nam całą strukturę statycznych plików, które wrzucamy na serwer i mamy naszą stronę. Odmienia to trochę podejście do tworzenia witryn. Zamiast dynamiki nadawanej za pomocą języków działających po stronie serwera, całą stronę generujemy u siebie na komputerze, a na serwerze trzymamy statyczną witrynę wspieraną co najwyżej przez technologie client-side takie jak JavaScirpt.

Może wydawać się, że takie rozwiązanie to cofnięcie się do średniowiecza, w końcu Web 2.0, to coraz bardziej interaktywne strony internetowe. Z drugiej strony użycie Jekylla pozwala się nam skupić na tworzeniu treści, nie martwiąc się o inne kwestie. Po prostu piszemy treść w naszym ulubionym formacie (takim jak Markdown), a potem wydajemy jedną komendę i mamy gotowego bloga, który w dodatku do działania nie wymaga żadnego specjalnego serwera, bo wystarczy serwowanie odwiedzającym statycznych plików.

Drugą cechą stojącą za rosnącą popularnością tego rozwiązania w ostatnim czasie, jest fakt iż Jeykyll jest automatycznie zintegrowany z GitHub Pages. Jeżeli ktoś nie wie co to, to już spieszę z tłumaczeniem. Jest to metoda serwowania strony WWW przetrzymywanej w systemie kontroli wersji git. Przyznacie, że brzmi to bardzo wygodnie - całość witryny trzymana jest na GitHubie dzięki czemu mamy dokładną kontrolę nad wszelkimi wprowadzanymi zmianami, a Jekyll "magicznie" generuje bloga/stronę na podstawie dostarczonych plików.

Sam myślałem nad zastosowaniem tego hipsterskiego podejścia u siebie na stronie, jednak przeważyło moje przywiązanie do klasycznej dynamiki stron WWW. W momencie kiedy do strony obsługiwanej przez Jekylla trzeba dodać podstawowe elementy interakcji z użytkownikiem, zaczyna się naprawdę mocne kombinowanie. Poza tym nie znam w ogóle Ruby, w którym został napisany Jekyll i wszelkie modyfikacje przychodziły by mi z trudem.

Zaprezentowany skrypt nie jest oczywiście jedynym tego typu. Ze względu na popularność opisanego podejścia, powstały podobnie działające rozwiązania dla wielu innych języków. Z tych napisanych w PHP można wymienić między innymi Phrozn czy PieCrust. Pewne podsumowanie najpopularniejszych static generatorów zawiera strona StaticGen.com.

Co sądzicie o takim, jakby nie patrzeć, mocno odmienionym podejściu do tworzeniu blogów. Interesowaliście się kiedyś takimi rozwiązaniami?

Komentarze wyłączone

Możliwość komentowania na blogu została wyłączona. Zapraszam do kontaktu na Twitterze, Facebooku lub poprzez formularz, o ten tutaj. Do usłyszenia!