Versiosta 1.1 Beta 3 alkaen Mehu Talk tukee vaihdettavia viestiteemoja. Teemoja on muutama jo valmiiksi, mutta niitä voi myös tehdä itse. Tässä selostus siitä, mikä on teeman rakenne ja mitä siihen tulee kuulua, jos haluat itse tehdä teemoja.

Teemat kuin web-sivut
Tai oikeastaanhan teema on web-sivu. Se koostuu HTML-tiedostosta ja CSS-tyylitiedostosta. Et välttämättä tarvitse edes CSS-tyylitiedostoa, jos rakennat teeman tyylit suoraan HTML-tiedostoon. Teema tulee ladata Internetiin, kuten mikä tahansa sivu, jolloin sen osoite voidaan syöttää Mehu Talkin teemagalleriaan. Näin teemoja ei tarvitse ladata ollenkaan - Mehu Talk hakee web-sivun viesti-ikkunaan ja täyttää sen viesteillä.

Viestien näyttö JavaScriptillä
Viestit näytetään teeman sisällä lisäämällä siihen lennossa HTML-koodia. Tämä tehdään JavaScriptin avulla. JavaScriptin tulee sijaita teeman HTML-koodissa, ja siihen tulee sisältyä vähintään seuraavat kolme pakollista toimintoa:

function addMessage(theUserName, theTime, theMessage)
Tätä toimintoa Mehu Talk kutsuu joka kerta kun uusi viesti vastaanotetaan, olettaen että se ei ole itsesi lähettämä. Muuttujien nimet ovat vapaavalintaiset - järjestys on kuitenkin tärkeä. Ensimmäiseen muuttujaan tulee käyttäjän nimi ja linkki hänen profiiliinsa Omenamehussa, toiseen muuttujaan tulee viestin aikaleima ja viimeiseen itse viesti. Teemantekijän vastuulla on toteuttaa tämä toiminto niin, että viestit ilmestyvät näkyviin sitä kutsuttaessa.

function addMyMessage(theUserName, theTime, theMessage)
Tätä toimintoa Mehu Talk kutsuu joka kerta kun itse lähetetty viesti vastaanotetaan. Muuttujien nimet ovat vapaavalintaiset - järjestys on kuitenkin tärkeä. Ensimmäiseen muuttujaan tulee käyttäjän nimi ja linkki hänen profiiliinsa Omenamehussa, toiseen muuttujaan tulee viestin aikaleima ja viimeiseen itse viesti. Tälle on erillinen toiminto siksi, että näin on mahdollista näyttää omat viestit ja muiden viestit esimerkiksi erivärisissä laatikoissa. Teemantekijän vastuulla on toteuttaa tämä toiminto niin, että viestit ilmestyvät näkyviin sitä kutsuttaessa.

function clearView()
Tätä toimintoa kutsutaan aina online-tilaan siirryttäessä. Sen tulee poistaa kaikki viestit teemastasi, jotta uudet voidaan lisätä ilman että näytetään kaksoisviestejä. Teemantekijän vastuulla on toteuttaa tämä toiminto niin, että viestit poistuvat sitä kutsuttaessa.

Muita pakollisia JavaScript-toimintoja ei ole, mutta suositellaan, että addMessage ja addMyMessage sisältäisivät jonkinlaisen rullauksen, jolloin viestinäkymää rullattaisiin alaspäin aina uuden viestin saapuessa, koska Mehu Talk ei huolehdi rullauksesta.

Kaikista ylläkuvatuista toiminnoista löydät esimerkin tämän sivun lopusta, josta voit ladata esimerkkiteeman.

Teeman tunnisteet
Kun Mehu Talk lataa teeman teemagallerian esikatselunäkymään, se käy myös läpi sen HTML-koodin tarkistaakseen onko ladattu sivu varmasti sopiva teema. Sen lisäksi teemasta poimitaan sen nimi, tekijän nimi ja versio, jos se on mahdollista. Nämä tiedot tulee sisällyttää HTML-tiedoston head-tagien väliin. Pakollinen tiedoista on ainoastaan sen nimi, mutta tekijän nimi ja versio on myös hyvä olla mukana.

Teeman nimi lisätään title-tagien väliin, johon normaalisti sijoitetaan selaimen otsikkopalkissa näkyvä teksti. Esimerkiksi:
<title>Mehu Talk Default</title>

Tekijän nimeen tarvitaan meta-tagi. Esimerkiksi:
<META NAME="Author" CONTENT="Tuomas talkthemeauthor">
Tämän rivin tulee olla nimenomaan tässä muodossa, jotta se tunnistetaan. Huomaa välilyönnillä erotettu "talkthemeauthor", joka on myöskin pakollinen, jos haluat että tekijän nimi näkyy teemagalleriassa.

Versio ilmoitetaan samalla tavalla:
<META NAME="Version" CONTENT="1.1 talkthemeversion">
Huomaa "talkthemeversion", joka on pakollinen jotta versio voidaan ilmoittaa teemagalleriassa. Versio ei ole rajoitettu pelkästään numeroihin - se voi olla mitä tahansa tekstiä.

Näistäkin löydät esimerkin sivun lopusta, josta voit ladata esimerkkiteeman.

Teeman tyyli
Tässä voi käyttää vapaasti mielikuvitusta. Voit käyttää kuvia ja mitä tahansa web-standardeihin perustuvia tyylikikkoja, koska Mehu Talk käyttää Safarista tuttua tehokasta WebKit-moottoria teemojen näyttämiseen.

Teemojen testaaminen
Teemoja voi käyttää, vaikka ne eivät näy teemagallerian sivupalkissa. Voit syöttää teeman osoitteen sijainti-kenttään ja painamalla rivinvaihtonäppäintä teema latautuu.

Teemojen testaamisessa voit käyttää apuna Mehu Talkin sisäänrakennettuja debug-työkaluja, joilla voit testata viestien näyttöä ja näkymän tyhjentämistä. Kirjoita viestikenttään show mehu talk debug tools ja paina rivinvaihtonäppäintä, jolloin aukeaa erillinen työkaluikkuna. Työkalun kautta lisättyjä testausviestejä ei lähetetä internetiin.

Kun teema on mielestäsi valmis ja haluat saada sen sivupalkkiin kaikkien käyttäjien ulottuville, voit ilmoittaa sen osoitteen esimerkiksi Talkissa, jolloin lisään teeman sivupalkkiin.



Esimerkkiteema
Kaikki tämän sivun asiat näet käytännössä lataamalla esimerkkiteeman, joka on myös Mehu Talkin oletusteema.
HAE TÄSTÄ