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.