Opublikowane 07 lutego 2017 5 minut
bookmark_border

Start z blogowaniem

Założenie bloga wiąże się z wybraniem platformy na której będziemy publikować nasze urocze posty. Do wyboru mamy wiele opcji, takie rozsądniejsze to Wordpress, blogger lub tumblr.

Problem

Uwielbiam szybkie strony, ale takie naprawdę szybkie, więc gdy myślałem o rozwiązaniu kwestii technicznej bloga to Wordpress, niby oczywisty wybór, wcale nie był najlepszym kandydatem.

Dlaczego?

  • Jest wolny, serio, nawet z super pluginami
  • Wymaga bazy danych, a to jest głupie i zbędne (mamy 2017)
  • Aktualizuje się, żeby tylko czasem coś popsuć
  • Tworzenie szablonów to jakieś piekło
  • Edytor jest spoko, ale do momentu w którym chcesz zrobić coś więcej niż wklejenie obrazka

Rozwiązanie

Statyczne generatory stron. Zamiast generować strony na żądanie przeglądarki wygenerujmy je tylko wtedy gdy jest taka potrzeba czyli kiedy wprowadzamy jakieś zmiany. Takie rozwiązanie drastycznie przyśpiesza ładowanie się strony, a koszty utrzymania są praktycznie zerowe. W praktyce to wygląda tak, że nasza strona to ładny zbiór plików HTML.

Najpopularniejszym (?) generatorem stron statycznych jest Jekyll, ale gdy ja widzę wymagania takiego cuda:

  • GNU/Linux, Unix, or macOS
  • Ruby version 2.0 or above, including all development headers
  • RubyGems
  • GCC and Make

To ja wolę jednak skorzystać z Hugo.io, generatora opartego na języku Go, którego wymagania są znikome. Moje pierwsze zetknięcie z Hugo, jak i z językiem Go, miałem podczas Google Code-in 2015 i bardzo spodobało mi się podejście jednego, natywnego pliku .exe.

Niektóre rzeczy trzeba robić inaczej

Statyczne strony nie potrafią zapisywać czy nawet odczytywać danych po stronie serwerowej. Zatem jak implementować np. komentarze? Z ratunkiem przychodzi nam JavaScript i różne zewnętrzne usługi jak np. disqus, którego możecie zobaczyć na tym blogu.

Disqus to tylko komentarze, ale Firebase pozwala na stworzenie całej aplikacji na statycznych stronach.

Getting work done

Problemem Hugo czy Jekylla to fakt, że to są narzędzia głównie dla programistów. No niby tutoriale, no niby takie wszystko proste, ale przysłowiowy Kowalski nie rozumie co to jest HTML, zmienna czy dlaczego IE8 to nie najlepsza przeglądarka. Nie wie, że to co widzi na swoim podglądzie nie jest widoczne dla innych.

To jest po prostu za trudne, ale taka jest cena wolności w tworzeniu i jakości końcowego produktu.

Bartosz Wiśniewski

Full Stack do wszystkiego (serio). Z programowaniem mam do czynienia już od ponad 5 lat. Zajmowałem się tworzeniem aplikacji mobilnych i gier. Lubię Pythona, Go i JavaScript (ale tą dobrą stronę). Czasem buduję zabawki z Arduino.