HTML-sivuston ylläpito WML:lla

Tässä dokumentissa kerrotaan, miten Website META Languagea (WML) ja esiprosessointia voi käytännössä hyödyntää HTML-sivuston ylläpidossa. Esimerkkinä on käytetty ylläpitämääni sivustoa Ei-toivottu viestintä Internetissä.

Tämän dokumentin tarkoituksena ei ole opettaa kaikkea esiprosessoinnista tai WML:sta, vaan esitellä dokumentoitu ja toivottavasti selkeä esimerkki näiden menetelmien käytöstä.

Sisällys

Tarvittavat ohjelmat

Jotta voisit käyttää tässä dokumentissa kuvattuja menetelmiä, tarvitset seuraavat ohjelmat:

GNU Make, GNU Fileutils ja GNU Tar ovat saatavana Microsoft Windowsille esimerkiksi osana Cygwin-ympäristöä.

Pääperiaatteet

WML on esiprosessointityökalu, mikä tarkoittaa sitä, että se tuottaa tyypillisessä käytössä HTML-sivuja, jotka voidaan laittaa saataville julkiseen WWW-hakemistoon. Esiprosessoinnin vaihtoehtona ovat dynaamisesti luodut sivut, eli sivut luodaan vasta, kun joku haluaa nähdä ne. Dynaamisesti luotavien sivujen tekemiseen käytettävät menetelmät voidaan jakaa kahteen pääryhmään:

Esiprosessointia kannattaa käyttää dynaamisten ratkaisujen sijasta aina kun mahdollista:

WML ja dynaamisesti luotavat sivut eivät kuitenkaan ole toisensa poissulkeva ratkaisu: WML:lla voi tarvittaessa luoda skriptikieliä tai esimerkiksi PHP:ta hyödyntäviä sivuja.

WML:a ja esiprosessointia käyttämällä sivustolla olevat toistuvat asiat voi jättää tietokoneen huoleksi. Käytännössä tämä tarkoittaa, että muun muassa sivujen muotoilun, navigointipalkit ja allekirjoitustekstit voi määritellä keskitetysti. Tämä helpottaa sivuston ylläpitoa, koska toistuvia asioita ei tarvitse kirjoittaa erikseen jokaiselle HTML-sivulle. Toisaalta myös esimerkiksi navigaatiopalkin ulkonäön muuttaminen helpottuu, kun muutosta ei tarvitse tehdä erikseen jokaiselle HTML-sivulle.

Esimerkkisivusto on toteutettu seuraavasti:

Sivustopohja on määritelty templaattitiedostossa. Templaattitiedosto määrittelee headerin ja allekirjoitusosion rakenteen. Lisäksi tiedostossa määritellään joitakin hyödyllisiä funktiota, joiden avulla voi asettaa kätevästi muun muassa sivun otsikon ja kuvauksen.

Sivujen asiasisältö on *.wml-tiedostoissa. Wml-tiedostot ja templaattitiedosto sijaitsevat tätä tarkoitusta varten luodussa hakemistossa.

Samassa hakemistossa oleva Makefile, jota GNU make käyttää, määrittelee, miten HTML-sivut luodaan wml-tiedostoista, miten HTML-sivujen tarkastus suoritetaan ja miten tiedostot kopioidaan WWW-hakemistoon. WWW-sivujen tekijän tarvitsee normaalisti vain editoida wml-tiedostoja ja käyttää make-ohjelmaa.

Sivujen tarkastukseen käytetään HTML Tidy ohjelmaa.

Toteutus yksityiskohtaisesti

Alla kuvataan eri komponenttien toteutus yksityiskohtaisemmin. En kuitenkaan paneudu WML:n yksityiskohtiin, vaan sitä varten kannattaa lukea WML:n dokumentaatiota.

Alla mainitut tiedostot sijaitsevat kootusti hakemistossa:
http://www.iki.fi/kaip/wml/spam/

Templaattitiedosto

Sivupohja määritellään templaattitiedostossa page.wmltmpl. Templaattitiedosto koostuu HTML-määritteistä ja WML-komennoista. Tiedoston lopussa määritellään rakenteita, joiden avulla voi määritellä muun muassa dokumentin otsikon.

Wml-tiedostot

Sivujen asiasisältö määritellään wml-tiedostoissa:

Edellä luetellut wml-sivut eivät välttämättä sisällä uusinta versiota esimerkkisivustosta.

Jokaisen wml-tiedoston ensimmäisillä riveillä sisällytetään templaattitiedosto ja määritellään sivun otsikko (title), esimerkiksi:

#include 'page.wmltmpl'

<doctitle "Ei-toivottu viestintä Internetissä">

doctitle-elementti määritellään templaattitiedostossa, samoin kuin elementit, joiden avulla voi antaa sivuston kuvaus (description) ja avainsanat (keywords).

Koske headerit ja allekirjoitusosuus on määritelty templaattitiedostossa, ei niitä tarvitse enää sisällyttää wml-tiedostoihin.

Makefile

Makefile määrittelee sivuston rakentamiseen ja hallintaan tarvittavat komennot. Makefilen rakenne kuvataan GNU Make:n manuaalissa.

Sivujen hallintaan voi käyttää esimerkiksi seuraavia komentoja:

make
Jos wml-tiedosto on uudempi kuin vastaava HTML-tiedosto, niin luo uuden HTML-tiedoston wml-tiedostosta.
make install
Päivittää tarvittavat HTML-tiedostot ja kopioi tarvittavat tiedostot WWW-hakemistoon.
make dist
Päivittää tarvittavat tiedostot ja tekee niistä TAR-paketin.
make clean
Tuhoaa HTML-tiedostot.
make test
Päivittää tarvittavat HTML-sivut ja tarkastaa ne HTML Tidyllä.

Aiheesta muualta

Olen tarkoituksella halunnut keskittyä esimerkkisivujen tapauksessa ulkoisen asun sijasta sisältöön. Uskon, että sivujen ulkonäön muokkaaminen (värit, navigointipalkit, ...) ei tässä tapauksessa parantaisi oleellisesti sivujen käytettävyyttä tai niiden asiasisällön ymmärtämistä.

Tämä ei kuitenkaan tarkoita sitä, etteikö WML:lla voisi tehdä "näyttäviäkin" sivuja. Tässä dokumentissa esitelty tapaus hyödyntää vain pientä osaa WML:n tarjoamista mahdollisuuksista. Muita esimerkkejä WML:lla toteutetuista sivuista, joiden WML-lähdekoodi on julkisesti saatavilla, ovat muun muassa LeHTori (lähdekoodi) ja WML:n kotisivut (lähdekoodi).

Hyödyllistä materiaalia WWW-sivujen tekemisestä:


2004-02-20

http://www.iki.fi/kaip/wml/

Kai Puolamäki, Kai.Puolamaki@iki.fi