suomeksi | in english
Kirjoitti 26.4.2012 | 4 Kommenttia

Julkaisujärjestelmä ei aina ole avain onneen. Mikäli yksittäisiä sivuja on vähän, päivityksiä suhteellisen harvoin eikä budjettiakaan ole liiaksi, on perinteinen staattinen HTML-sivusto varsin käytännöllinen vaihtoehto. Julkaisujärjestelmän hinnalla hankkii mukavasti tuntihintaista päivitystyötä eikä tarvitse itse muistella “miten sitä julkaisujärjestelmää nyt taas käytettiinkään?”

Staattisilla sivuilla on lisäksi muutamia erinomaisia valttikortteja hihassaan verrattuina julkaisujärjestelmiin. Ensinnäkin ne ovat salamannopeita, sillä sivu on koostettu valmiiksi. Nopeus on moneltakin kantilta tarkasteltuna sivuston tärkeimpiä teknisiä ominaisuuksia. Tietoturvakin on kunnossa, ylläpito edullista eikä järjestelmään tule versiopäivityksiä parin kuukauden välein.

Kehittäjän näkökulmasta staattisissa sivuissa on kuitenkin muutamia ärsyttäviä piirteitä. Sivustoilla on monia osia, jotka toistuvat lähes muuttumattomina sivulta toiseen. Esimerkiksi ylä- ja alatunnisteet ja navigaatiot. Muutos tällaiseen osaan pitää tehdä tehdä jokaiselle sivulle erikseen. Copypastehärdellissä tekevälle sattuu helposti ja jotain unohtuu. Yleensä tässä kohtaa otetaankin avuksi lyhyet PHP-pätkät tai Server Side Includet. Molemmissa puolensa, mutta jälkimmäiset ovat turhan lukittuja ja PHP:n kanssa touhu karkaa helposti sen verran pidemmälle ettei voi enää puhua staattisista sivuista.

Timanttista apua arkeen

Kehittäjien arkea helpottamaan onkin pulpahdellut erilaisia apuvälineitä, sivustogeneraattoreita, jotka tekevät taikoja ja pullauttavat ulos koostetun sivuston valmiina pakettina. (Idea ei suinkaan ole uusi, julkaisujärjestelmissä ominaisuutta voisi kutsua erittäin tehokkaaksi välimuistiksi ;)

Viime aikoina jonkin sortin hypeä webbinörttien keskuudessa, osittain varmasti vahvojen GitHub-siteidensä vuoksi, on aiheuttanut Ruby-pohjainen Jekyll.

Rubya ei sivuston aikaansaamiseksi kuitenkaan tarvitse osata, sillä Jekyll käyttää teemakerroksessa Liquid-moottoria, joten syntaksi on tuttua Djangoa tai Railsia käyttäneille. Jekyll mahdollistaa sivupohjien periyttämisen, osioiden sisällyttämisen (include), sivusto- ja sivukohtaisten muuttujien käytön sekä suodattimet ja yksinkertaiset loogiset rakenteet (esim. ehto- ja toistolauseet).

Kun rakenne on ladottu kasaan, sivusto “käännetään” ja lopputuloksena syntynyt HTML-paketti voidaan nakata palvelimelle. Lisäksi versiohallinnan avulla homman voi GitHub Pages:n tapaan automatisoida.

Työkalu joka venyy ja taipuu

Meillä Aucorissa Jekyll on löytänyt paikkansa lähinnä sisäisenä työkaluna, sillä sivustojen hallitseminen on kovin teknistä. Monimutkaisemmissa HTML-taitoissa ja pienissä sivustoissa Jekyll kuitenkin vähentää ylläpidettävien näkymien määrä ja ennen kaikkea helpottaa muutosten tekemistä. Pelkän puhelinnumeron vaihtaminen yrityksen kahdenkymmenen sivun alatunnisteeseen on paljon mukavampaa yhdestä paikasta tehtynä.

Jekyll on yllättäen varsin blogivetoinen ja “tavallisten” sivujen käsittely on hieman taka-alalla. Tässä kohtaa peliin astuu kuitenkin Jekyllin helppo laajennettavuus: Mikäli Ruby sujuu, on lisäosien kirjoitus varsin helppoa. Aktiivinen yhteisö tarjoaa lisäosia ja vinkkejä muille, joten mekin ojensimme auttavan kätemme ja perustimme julkisen tukikohdan kehittämillemme lisäosille.

Esimerkkeinä Jekyll-toteutuksistamme mainittakoon Turku Agile Day 2012 -sivusto, Turun Silmälaserin sivustouudistus sekä Veritas eläkevakuutuksen sähköinen vuosikertomus 2011.

4 Kommenttia

  1. jeejee
    27.4.2012

    Ajatuksena jotenkin outoa tehdä staattisia sivuja ”julkaisujärjestelmällä”. Piti lukea postaus pariin kertaan ennenkuin pääsin Jerkyllin perimmäisestä ideasta kiinni. Vastaa ilmeisesti toiminnallisesti HTML-editorien (Homesite, Dreamweawer, BBEdit) template-systeemeitä?

    Tuosta staattisten sivujen eduista olen samaa mieltä. Nopeita, helppoja ja monessa tapauksessa jopa kustannustehokkaita.

  2. Janne Ala-Äijälä
    27.4.2012

    Toiminnallisesti tosiaan muistuttaa noita template-toimintoja, mutta taustalla oleva ajatusmaailma eroaa. Jekyllissä hyödyt pumpataan erityisesti dynaamisten näkymien, esim. blogiarkiston tai alasivujen navigaatioiden automaattisessa luonnissa. Editoreissa templatet ovat lähinnä vakiorungon käyttämistä uuden sivun pohjana.

  3. Anssi Koskinen
    27.4.2012

    Tähän pitää vielä huutaa blogiveteraanin muisto 2000-luvun alun Jekyllistä: Movable Typehän aikoinaan puski aina uuden kirjoituksen yhteydessä uuden kasan staattista HTML:ää sisältäen arkistosivut, kategoriat ja yksittäiset merkinnät. Mitä lie tekee nykyään, pitäisi melkeinpä käydä tutustumassa.

  4. jeejee
    27.4.2012

    Edellisessä työpaikassa ylläpidin erään palvelun asiakaskäyttöohjetta Help&Manual -nimisellä softalla, jolla sai manuaalin pulautettua ulos myös webbisaittina. Jälki ei ollut mitään nättiä, mutta ihan toimiva ja alustariippumaton HTML+CSS+JavaScript paketti. Erikoisuutena oli sisäänrakennettu hakutoiminto, joka teknisesti käytti julkaisun yhteydessä tehtyä txt-tiedostoa hakuindeksinä.

    Luin jostakin artikkelin kun joku oli sulkenut Drupal-saittinsa vaihtamalla drupal-tiedostojen tilalle Boost-modulin generoimat staattiset tiedostot. Ei käsittääkseni ollut edes mitenkään kovin mutkikas operaatio kohtuullisen kokoiselle saitille.

Vastaa

Aucor Oy

Logomo Byrå,
Köydenpunojankatu 14,
20100 Turku
Saapuminen & pysäköinti

040 577 0215
asiakaspalvelu@aucor.fi

Y-tunnus: 2202642-0

Olemme parasta luottoluokkaa.

Aucor Oy on parasta luottoluokaa.Aucor Oy on AAA® luottoluokituksen saanut yritys. Kyseiseen luokitukseen yltää Suomessa vain 3,5 % kaikista yrityksistä.

AAA® luottoluokitus on korkein mahdollinen.

Ensimmäistä kertaa ostoksilla?

Verkkopalvelun ostajan opasVerkkopalveluiden ostaminen voi tuntua hankalalta. Asiakkaidemme elämää helpottaaksemme kirjoitimme verkkopalvelun ostajan oppaan juuri sinulle!

Lue lisää!