Blog 2.0

2019. december 21.

by yeti

Bár még éppen csak leporoltuk a blogunkat egy nagy Jekyll verziófrissítéssel, máris új vizekre evezünk. Még korábban felmerült az ötlet bennem és Kircsiben, hogy a Jekyll nem tud feltétlen minden feature-t, amire szükségünk lenne (vagy legalábbis nem olyan egyszerű megvalósítani). Mi lenne tehát, ha választanánk egy alkalmasabb frameworköt, és újraírnánk abban?

Szét is néztünk a static site generátorok piacán megoldást keresve. Több lehetőséget végignéztünk, végül a következő három jelölt maradt a ringben:

  • Hugo: Go nyelvre épít, ami miatt gyors (bár ez egy ekkor projektnél annyira nem szempont), egyedi templatinget használ. A három közül ezt ismerjük a legkevésbé.
  • Jekyll: A mostani blog ezt használja, a szervermigrálás miatt már a legújabb verzióval. Ez Ruby nyelvet használ liquid template-tel. Egyszerű használni és van hozzá néhány hasznos plugin viszont a GitHub Pages még nem támogatja, emiatt a deploy jelenleg saját szerveren, dockerrel van megoldva, ami kissé körülményes.
  • Gatsby: Ez egy Reactra épülő framework, ami támogatja a TypeScriptet is. Messze ez a legfejlettebb framework, rengeteg plugin készült hozzá, és mivel Reactra épül, végtelen npm package is használható. Out-of-the-box támogatott a GitHub Pages, így a deploy is egyszerű, mint az 1x1. A Netlify integrációnak köszönhetően pedig a Pull Requestek is könnyedén kirakhatóak egy saját environmentbe.

A fentiek alapján végül a Gatsbyre esett a választás. Mivel jelenleg mindketten TypeScript-ben fejlesztünk (Angular illetve React), evidens volt, hogy ezt a projektet is ebben szeretnénk megírni. Egy kis kutakodás után találtunk egy megfelelő starter projektet, és kezdődhetett is a kódolás.

A UI kialakításához úgy döntöttünk, hogy a Chakra-t vesszük igénybe. Ez egy Reacthoz készített UI library, előre definiált, de könnyen testreszabható komponensekkel, könnyen témázható, és default támogatja dark mode-ot (és mellesleg a Simonyi Web is ezt használja).

Maga a projekt még erősen fejlesztési szakaszban van, de már most érezni, hogy könnyű lesz a frameworkkel dolgozni. A kód a szokásos módon nyílt forráskódú és elérhető a GitHub-on.