Hello World

Posted 2023-03-11 12:30:00 by sanyi ‐ 4 min read

Néhány szó eme blog születéséről

Sziasztok,

Sanyi vagyok, 45 éves, enyhén autista fejlesztő / devops mérnök / architect / mindenes a Mito Group-nál.

Elég gyakran kísérletezem mindenféle technológiákkal, arra gondoltam talán néha publikusan is közzétehetném kísérletezéseim eredményeit.

Ez az első bejegyzés arról szól, hogyan kerestem ehhez egy hatékony platformot.

Nem egy hosted megoldást akartam mint pl. a medium.com hanem valamit amivel magam is játszhatok. A WordPress-t már kicsit idejétmúltnak érzem, így a static site generátorok felé fordultam.

A listát végignézve szemet szúrt a Zola, amit történetesen az egyik kedvenc programozási nyelvemen, Rust-ban írtak. Kipróbáltam, megtetszett.

Végignézve a témák listáját az adidoks tűnt számomra a legszimpatikusabbnak, ez kifejezetten illik a dokumentációs oldalak készítéséhez. A vele szállított Jost font-tal a magyar karakterek némelyike elég viccesen nézett ki, ezért inkább a Google Roboto font-jára álltam át, ami az Android-os készülékek alapértelmezett betűkészlete.

A Zola támogatja a többnyelvűséget is, így a posztok egy részét valószínűleg magyarul és angolul is publikálni fogom.

Hosting platformnál az elsődleges szempontom az olcsóság volt, így a Cloudflare Pages mellett döntöttem, ami az én céljaimra ingyenes (maximum 20 ezer állományt lehet feltölteni, egyenként 25 MB-osak lehetnek).

Simán tud egy GitHub repo-ból Zola build-et indítani, így csak push-olnom kell a blog forrásának aktuális változatát és pár percen belül publikálja is.

A Zola telepítése nagyon egyszerű, csak le kell tölteni az aktuális binárist: a Zola releases oldalról és egy olyan mappába tenni ami benne van a PATH-ben. Én Ubuntu-t használok, így simán a /usr/local/bin-be került. Ne felejtsd el futtathatóvá tenni (chmod +x /usr/local/bin/zola)!

Egy új site létrehozása:

$ zola init project-name
Welcome to Zola!
Please answer a few questions to get started quickly.
Any choices made can be changed by modifying the `config.toml` file later.
> What is the URL of your site? (https://example.com): 
> Do you want to enable Sass compilation? [Y/n]: 
> Do you want to enable syntax highlighting? [y/N]: 
> Do you want to build a search index of the content? [y/N]: 

Done! Your site was created in /home/sapati/Desktop/project-name

Get started by moving into the directory and using the built-in server: `zola serve`
Visit https://www.getzola.org for the full documentation.

A kérdések megválaszolása után létrejön a project-name mappa, egy nagyon egyszerű szerkezettel:

.
├── config.toml
├── content
├── sass
├── static
├── templates
└── themes

A config.toml a project konfigurációja, a content mappába kerülnek majd a Markdown formátumú tartalmak, a sass mappában vannak a CSS-ek forrásai, a static mappában pedig minden ami változatlan formában kerül át a publikált oldalra (képek, font-ok, stb.). A templates mappába kerülnek a testreszabáshoz szükséges sablonok (a Zola a Tera template nyelvet használja).

Következő lépés a téma letöltése volt, ami egy egyszerű git clone:


$ cd themes
$ git clone https://github.com/aaranxu/adidoks.git adidoks
$ cd ..

Ahhoz hogy a Zola használja is a témát, a config.toml -t kell módosítani:

taxonomies = [
  {name = "authors"}, 
]

theme = "adidoks"

Egy zola serve parancs kiadása után már láthatjuk is az oldalunkat a kiírt címen (alapértelmezésben http://127.0.0.1:1111/). Ez egy live preview, ami azt jelenti hogy a tartalmak módosítása után automatikusan frissül az oldal. A config.toml változásaira viszont úgy vettem észre nem reagál, ahhoz újra kellett indítani.

Egy static build a zola build paranccsal készíthető el, ami a public mappába írja ki az elkészült site-ot. Cloudflare deployment esetén erre nem lenne szükség, csak a forrásra, de kiderült hogy a Cloudflare csak a Zola 0.14-es verzióját támogatja, az aktuális 0.17.1 -et nem, emiatt kicsit trükközni kellett.

A deployment sem sokkal bonyolultabb: beregisztráltam a pages.cloudflare.com -ra, majd a project létrehozásnál a "Connect to git" opciót választottam.

Itt végig kell csinálni az összekötést a GitHub fiókkal, kiválasztani a GitHub repo-nkat.

Normál esetben build configuration-nek a Zola-t kellene választani, a környezeti változók közé pedig fel kellene venni ezt:

ZOLA_VERSION=0.14.0

Sajnos a Zola aktuális verziójával ez nem működik, ezért azt a workaround-ot választottam hogy a saját gépemen futtatom a zola build-et, a keletkező public mappát is feltolom a GitHub repo-ba, majd build configuration: none -t választok, a build command egy szimpla echo lesz, a build output directory marad public. Így a Cloudflare build-je lényegében csak annyit csinál hogy a public mappát kimásolja a repo-ból.

A Cloudflare free csomagja havi 500 build-et engedélyez, ami az én céljaimra bőven elegendő lesz.

Címkék:
zola adidoks github cloudflare