GitHub Pages + Jekyll

Jako rozszerzenie do zwykłego HTMLa, GitHub Pages wspierają także Jekyll'a.

Jekyll to popularny generator stron statycznych.

Wspierają czyli są zintegrowane gdzieś po stronie GitHuba. Znaczy to że możemy używać Jekylla lokalnie do generowania stron HTML, lub całe repozytorium z zawartością templatu Jekylla, plikami MarkDown i użyciem języka Jekylla, wrzucić na GitHuba a strona zostanie wygenerowana dla nas.

Jekyll to prosty generator statycznych stron.  Przetwarza tekst, MarkDown, Liquid, HTML, CSS, Sass, Coffeescript i templaty na statyczną stronę gotową do publikacji.
Ma udogodnienia specyficzne dla blogów jak permalinki, kategorie, posty.

Jekyll jest Ruby Gem'em (takim w słoiczku :D ) więc najpierw wymaga zainstalowania  kawałka środowiska, na szczęście niewielkiego i co ważniejsze - crossplatformowego.

Oczywiście środowisko jest nam potrzebne tylko jeśli chcemy uruchamiać Jekylla lokalnie.
Możemy też od razu wrzucić naszą stronkę na githuba i martwić się powolnym debugingiem.
GitHub uruchamia builda statycznej strony maksymalnie 10 razy na godzinę, chwilę po nowym comicie.

Najwięcej wiedzy o Jekyllu można wyciągnąć z tego kursu 

Do stworzenia i uruchomienia nowej strony wystarczą te polecenia:


Warto zapamiętać

bundle exec jekyll serve

potrzebne jest
nam tylko jeśli używamy jakiegoś gema np. z templatem, i tylko gdy
budujemy pierwszy raz naszą stronę. Później wystarczy

jekyll serve

Jekyll serve wystarczy również, jeśli nasza strona jest typowo htmlowa i nie ma czego jekyll wygenerować - w ten sposób możemy testować lokalnie strony nawet bez gem'ów

Wydaje się to tak mega proste. Mnie jednak jakoś przysporzyło dużo problemów

Po pierwsze templaty

pierwszy link w googlach prowadzi do galeri możliwych wyglądów naszej przyszłej strony Jekyll Themes
Ja koncentrowałam się na schemacie single page . Używam tych trzech
Później dowiedziałam się że można jeszcze poszukac na RubyGems.org szukajac Jekyll - ale to już dla mnie za dużo.

Jednak zanim je znalazłam przejrzałam ich dwa razy tyle ile teraz jest na tej stronie, było tam mnóstwo niedziałających już templatów. To zabierało dużo czasu, jeszcze więcej flustracji.
Gem użyty w templacie musi zgadzać się z wersją zainstalowaną lokalnie.
Templatów nie należy mieszać ze sobą - niby oczywiste, ale dla mnie nie było😂

Po drugie konfiguracja

Konfiguracja jest wszystkim.
Mimo że chciałam tylko proste strony - więc niby koncentrowałam się na zawartości, okazało się, że konfiguracja każdej strony to ciężka robota.

Podstawowym plikiem konfiguracyjnym jest _config.yml
z niego pobierane są wartości w innych miejscach. Mamy tutaj proste rzeczy jak tytuł strony, opis, autor. Przez bardziej skomplikowane np.  schemat permalinku. Dalej bardzo ważny w podstronach baseurl. Konfigurację pluginów, i własne zdefiniowane elementy, łącznie z bardziej skomplikowanymi np. zagnieżdzonymi listami.

Wszystko w jednym YMLu

Po trzecie HTML / MD 

Albo sobie przypomnisz, jak działa HTML albo musisz się nauczyć MD. No coż nie jest to punkt dla każdego, ale ja nie znam całkiem MD i jakoś nigdy nie mialam ochoty się go nauczyć. A HTML wymagał odświeżenia. Podobnie CSSy. Template to z jednej strony świeta podstawa - można użyć i się nie przejmować, z drugiej jednak strony to ramy, które ciężko przełamać.  Każdy template ma swoją strukturę i organizację plików. Niezmienne pozostają tylko elementy standardowe jak _posts ale możemy to też zmienić - jak już wiemy co robimy.

Warto?

Czy ogólnie było szybciej niż zaczynając od zera i pisząc stronke z użyciem bootstrapa? Nie mam pojęcia. Ale pewne jest że nie zmieniając wiele i nadal nie wiedząc jak działa śliczne przewijanie stworzyłam całkiem ładne dwie strnki ŚGMS i JLamch.net

Zdecydowanie lepiej jest używać GitHub Pases i Jekylla do tego do czego zostali stworzeni - do blogowania. Jak już wybierzemy template dorzucamy kolejne md pliki do katalogu _posts i dzieję się samo.

  • Łatwo jest utrzymywać zawartość już stworzonej strony.
  • Repozytorium kodu jako podstawa daje też pewność, że można się cofnąć i mamy pełną historie.
  • Repozytorium kodu jest łatwiej zarządzać niż bloggerem.

And yet I sill blog on blogger 😋

Komentarze

Popularne posty