Blog

Hello, Gatsby!

Bloga rozpoczynam serią wpisów o Gatsbym, popularnym i coraz popularniejszym frameworku Reacta.

Zainteresowanym Gatsbym polecam:

  • darmowy kurs Przeprogramowanych: Gatsby - krok po kroku, od zera do gotowej aplikacji, jest to seria, w tej chwili siedmiu artykułów, na pewno wartych przeczytania. Lektura obowiązkowa.
  • artykuł na mojej stronie: GatsbyJS, choć, prawdę mówiąc, po wykasowaniu / przeniesieniu zdublowanej treści niewiele tam już pozostało.

Wszystkie przedstawione tu rozwiązania sprawdziłem, nie jest to copypaste dokumentacji. Jednak żadnej gwarancji nie mogę udzielić, bo na pewno wkradło się tu trochę błędów. Będę wdzięczny za wskazanie ich i wszystkie tak szybko jak to będzie możliwe, poprawię. Kontakt przez formularz kontaktowy na stronie lub facebooka dygresje.info.

Innym rodzajem błędu, który mogłem tu popełnić, jest uznanie czegoś za zbyt oczywiste i pominięcie tego w opisie. Tutaj też proszę o zwrócenie uwagi.

Dotychczasowe wpisy

  • Gatsby cz. 1 - instalacja - Ogólne informacje, czym jest Gatsby, metody instalacji i własny Gatsby From Scratch, hierarchia katalogów, konfiguracja, React Fragments, komponent Link, pierwsza działająca strona.
  • Gatsby cz. 2 - komponenty - Komponenty, layout.js i komponenty layoutu. Budowa struktury strony. Przekazywanie propsów i sterowanie wyświetlaniem elementów strony. Web API Location.
  • Gatsby cz. 3 - CSS - Jak w Gatsbym zastosować CSS: global.css, CSS-in-JS, frameworki i biblioteki CSS, preprocesory, Font Awesome, Google Fonts, Bootstrap Icons.
  • Gatsby cz. 4 - GraphQL & obrazki - GraphQL zastępuje REST API i plugin gatsby-plugin-image
  • Gatsby cz. 5 - pluginy - Najbardziej potrzebne pluginy: dostęp do plików, obrazki, SEO, breadcrumb itd.
  • Gatsby cz. 6 - dawaj, dawaj, deploy - Publikacja strony online. Czym jest CI/CD i do czego nam jest potrzebne. Znaczenie gita, GitHub. Hosting: GitHub Pages, Netlify, Gatsby Cloud, Vercel i wreszcie... zwykły serwer.
  • Gatsby cz. 7 - blog MDX cz. 1 - Markdown a MDX, programistyczne tworzenie stron z gastby-node.js i File System Route API, automatycznie generowane tagi

Co dalej?

W ciągu dwóch tygodni napisałem / dopracowałem siedem wpisów, które były już wcześniej w różnym stopniu gotowe, w tym dwa kompletnie od zera. To było interesujące, ale czekają inne obowiązki, m.in. ruszyłem z cyklem wpisów o Enigmie (BTW znalazłem wreszcie książkę, w której jest porządnie opisana: Richard E. Klima "Cryptology: Classical and Modern"). Dlatego teraz nastąpi dłuższa przerwa. Prawdopodobnie już we wrześniu pojawią się kolejne wpisy.

Plan jest dość płynny, ale na tę chwilę przedstawia się następująco:

  • Blog cz. 2. dodatkowe elementy: paginacja, poprzedni / następny, publikacja danego dnia, komentarze...
  • Headless CMS: Wordpress, Drupal, Strapi i inne,
  • Integracje, szablony, PWA, SSR itp. itd.

Docelowo powinno wyjść pomiędzy 10 a 15 wpisów i w tej formule seria powinna się zamknąć jeszcze w tym roku (2021). Oczywiście w miarę rozwoju Gatsby'ego będą się pojawiać nowości i dopóki będę zainteresowany tym frameworkiem, treść będzie aktualizowana.

Możliwe, że z czasem będę przenosił z wpisu do wpisu; może w ogóle inaczej to zorganizuję. Więc wszystko może się zmienić, ale w razie gdyby jakaś informacja zniknęła z dotychczasowego miejsca - ten adres: `https://dygresje.info/blog/gatsby` zostaje i nie ulegnie zmianie.

Założenia

Co zaś do formuły treści: mnie najbardziej interesuje nie teoria, a konkretny sposób budowania rzeczy. Więcej się nauczyłem z analizy kodu niż kilobajtów dokumentacji (ma to też wiele wad, więc nie zalecam; niech każdy robi tak jak lubi/chce/musi, w tej kolejności). Dlatego często jest to prezentacja większych fragmentów kodu z kilkoma ważnymi elementami i w miarę dokładnym opisem tego, co się tam dzieje. Uważam, że jest to szybsze niż składanie działającej maszyny z drobnych porozrzucanych po całym artykule kawałków. Mając od razu działający kod szybko można przejść do eksperymentów i łatwiej zapamiętać to, co się udało zrozumieć.

Założeniem każdego odcinka serii jest bycie success-complete, chodzi o to, żeby po przeczytaniu można było coś zbudować. Już w pierwszym odcinku zobaczysz własną stronę w Gatsbym.

Zakładam, że czytelnik dobrze zna podstawy JS, rozumie jak działa React i zna JSX, używa gita, umie poruszać się w konsoli i wie, jak działa strona WWW. Pisząc o konsoli, mam na myśli konsolę linuksową i naprawdę tylko podstawowe polecenia typu cd, mkdir, rm, ls.

Postaram się też odróżniać, kiedy używamy mechanizmów Gatsby'ego, kiedy samego Reacta, a kiedy jest to sam JS.