Loma-ajan rauhan ollessa syvimmillään reippaat skriptilapsoset jostain päin maailmaa tekivät minulle palveluksen ja saivat blogiani pyörittäneen Wordpress-julkaisutyökalun pahasti solmuun. Päivittämättä jäänyt lisäosa teki asennuksesta haavoittuvan, vaikka Wordpress itsessään olikin kaikin tavoin kunnossa ja päivitetty. Jälkiä siivotessani tulin tulokseen, että nyt voisin vastaisen varalta palata ajassa taaksepäin, hylätä julkaisujärjestelmät ja pystyttää sivustoni toimimaan ilman palvelinpuolella ajettavaa koodia.

Muistin lukeneeni pari vuotta sitten Hiking in Finland -blogista Octopress-julkaisujärjestelmästä, haeskelin postauksen esille ja ryhdyin perehtymään aiheeseen. Muutaman mutkan kautta päädyin lueskelemaan Octopressin kaltaisten julkaisutyökalujen vertailua. Toisin kuin julkaisujärjestelmät yleensä, nämä työkalut eivät vaadi palvelimelta tietokantaa, PHP:n tai minkään muunkaan ohjelmointikielen tukea ja niiden laitteistovaatimukset ovat minimaaliset. Julkaisutyökalua käytetään omalta koneelta ja tuloksena syntyvät staattiset HTML-sivut siirretään palvelimelle julkaistavaksi.

Vertailtuani eri vaihtoehtoja suhteessa Octopressiin päädyin valitsemaan Docpad-julkaisutyökalun. Rubyn ja Railsin tuntevalle Octopress olisi ollut oiva valinta mutta nollapisteestä lähtiessäni Docpadin Javascriptiin (NodeJS) perustuva toteutus tuntui kiinnostavammalta perehtyä -- Javascriptiä kun ei nykyään juuri voi välttää, teki mitä tahansa kehitystyötä.

Sivuston uudelleenpystyttämisessä suurin vaiva oli vanhojen sisältöjen siirtämisessä. Onneksi skriptilapsoset eivät olleet tyhjentäneet tietokantaa, joten sain ladattua menneiden vuosien kirjoitukset talteen wp2octopress-skriptillä. Skriptin tuottamaa tulosta joutui paikoitellen muokkaamaan aika lailla, mutta suurin osa kirjoituksista oli suoraan siirrettävissä. Hyökkäyksen seurauksena Wordpressin tiedostonsiirtotoiminnallisuuden avulla siirretyt kuvat olivat tipotiessään, mutta ne sai onneksi ongittua talteen Internet Archiven Wayback Machinen avulla. Kommentit saivat uuden kodin Disqus-kommentointipalvelusta ja siirto sujui täysin Disqusin omien ohjeiden mukaisesti.

Alkuunpääsyä helpottaakseni en ryhtynyt pystyttämään Docpadia alusta alkaen itse, vaan käytin pohjana Erv Walterin Githubissa julkaisemaa blogikäyttöön viritettyä kokoonpanoa. Jahka kesä kääntyy syksyä kohti, lie systemaattisemman NodeJS-tutkiskelun aika.