Kuten teknologiaan liittyvissä blogeissa näyttää olevan tapana, ensimmäinen postaus on itse blogin luomisesta. Joten tässä olemme, tämä on ensimmäinen kirjoitus blogissani, joka kuvaa vaiheet jotka johtivat tähän pisteeseen.

Vaihtoehtojen arviointi

Kiinnostuin ensimmäisen kerran staattisista sivugeneraattoreista vuosia sitten, kun ystäväni Fatih rakensi oman sivunsa käyttäen Jekylliä. Se tuntui erittäin virkistävältä tuolloin, koska siihen aikaan kotisivuni olivat WordPressissä, mikä tuntui aina hieman liian ylimitoitetulta ja raskaalta tarpeisiini nähden.

Jekyll

Yritin asentaa Jekylliä useita kertoja vuonna 2021, mutta menetin mielenkiinnon monimutkaisen build-prosessin takia, joka vaati kaikenlaisten bundlejen ja gemien määrittämistä (en koskaan ollut erityisen kiinnostunut Rubysta alun perinkään). Minun piti myös debuggata kaikenlaisia ongelmia, jotka johtuivat blogilleni asettamistani vaatimuksista. Lisäsin useita liitännäisiä, jotka eivät toimineet kovin hyvin yhdessä. Suurin haaste oli se, että halusin käyttää sivun kirjoittamiseen AsciiDocia. Jekyll tue tätä oletuksena, joten minun piti käyttää pluginia. Tämä plugin ei näyttänyt toimivan kovin hyvin muiden tarvitsemieni pluginien ja teeman kanssa.

Joka tapauksessa en koskaan päässyt pidemmälle sivuston asentamisessa, joten laitoin projektin taka-alalle. Alusta lähtien nykyisen domainini korhonen.cc perustamisesta joulukuussa 2020 aina kesään 2022 asti domainin juuri näytti vain 404-virheen. Minulla oli paljon itse hostattuja sovelluksia asennettuna vain subdomaineissa.

Hugo

Löydettyäni Hugon innostuin heti. Se näytti olevan vastaus kaikkiin ongelmiini. Päälimmäiset edut olivat

  • Staattinen binääri
  • Suora tuki AsciiDocille

Tämän ansiosta sain perussivuston käyttöön muutamassa minuutissa. Ei enää sotkemista bundlejen ja gemien kanssa. Minun ei myöskään tarvinnut käyttää mitään plugineita, koska Hugo näytti tukevan oletuksena kaikkea mitä tarvitsin.

Konfigurointi

Päätin käyttää Hugo Toha -teemaa sivustollani, koska se näytti tekevän hyvin kaikki asiat, jotka halusin saavuttaa tällä sivustolla

Hugon ja teeman konfigurointi kesti aikansa, mutta oli sen arvoista. Minulla on nyt kaunis ja monipuolinen sivusto, jota on helppo ylläpitää ja laajentaa.

Kommentointijärjestelmä

Halusin lisätä mahdollisuuden käyttäjille kommentoida blogiani. Vaikka yleensä hostaan itse kaiken mahdollisen, tällä kertaa päädyin Giscus-palveluun. Se käyttää GitHub Discussions alustaa backendinään, joten minun tarvitsi vain luoda repo GitHubissa jossa on tämä ominaisuus päällä ja konfiguroida se Tohaan (valitsemaani Hugon teemaan).

Kävin läpi kaikki Tohan tuetut vaihtoehdot, mutta mikään niistä ei ollut itse hostattavissa. En halunnut myöskään toteuttaa tukea uudelle kommenttialustalle itse. Tämä voisi olla kuitenkin hauska projekti tulevaisuudessa.

Build prosessin automatisointi

Päivitys 2022-12-17: Olen vaihtanut Drone CI:stä Woodpecker CI:hin. Woodpecker on avoimen lähdekoodin fork Dronesta, koska Drone siirtyi suljettuun lisenssiin.

Päivitys 2022-12-17 osa 2: Olen vaihtanut Giteasta Forgejoon. Forgejo on avoimen lähdekoodin fork Gitesta, koska Gitea näyttää siirtyvän suljettuun liiketoimintamalliin.

Kun asensin tätä sivustoa, sain tietää Woodpecker CI:stä, joka näytti sopivan tarpeisiini erinomaisesti. Olin kokeillut Jenksiä aiemmin, mutta en pitänyt sitä kovin helppokäyttöisenä. En myöskään pitänyt siitä, että se kulutti niin paljon resursseja.

Woodpeckerin asentaminen kesti vain noin 30 minuuttia erinomaisen dokumentaation ja sisäänrakennetun Forgejo-tuen ansiosta (jota käytin jo vuosia ennen tätä). Pipelinen asentaminen vaati hieman enemmän kokeilua ja virheiden korjausta, mutta loppujen lopuksi se osoittautui melko helpoksi.

Asiaan liittyvät konfiguraatiotiedostot

Tulevaisuuden suunnitelmat

En aio tulla säännölliseksi bloggaajaksi lähiaikoina. Jos löydän jotain, mikä voisi olla arvokasta muille, kirjoitan siitä täällä, jos vaan löydän siihen aikaa ja energiaa.

Nautin paljon Linuxin näpräämisestä ja sovellusten itse hostaamisesta palvelimellani, joten saatan kirjoittaa joitain ohjeita näistä aiheista tulevaisuudessa. Olen myös NeoVim-käyttäjä, joten saatan kirjoittaa postauksen asetuksistani jossakin vaiheessa.

Tässä on kuvankaappaus minusta kirjoittamassa tätä blogikirjoitusta. Aika meta 😃

Minä kirjoittamassa tätä blogikirjoitusta
Figure 1. Kuvankaappaus minusta kirjoittamassa blogikirjoitusta tästä blogista