Ohje:Malline
Wikipedia
Wikipedian mallineet ovat sivuja, joiden avulla saman sisällön voi esittää useammalla sivulla. Tämä tapahtuu asettamalla malline toiselle sivulle. Mallineeseen tehdyt muokkaukset näkyvät kaikilla niillä sivuilla, joihin malline on asetettu. Esimerkiksi oheinen tyyliopaslaatikko on navigaatiomalline, joka on avuksi samaan kokonaisuuteen kuuluvia sivuja selattaessa.
Mallineen suurin hyöty saavutetaan silloin, kun sama asia tulisi toistaa samalla tavalla useilla eri sivuilla. Tässä ohjeessa käydään yksityiskohtaisesti läpi kuinka mallineita voidaan liittää artikkeleihin, kuinka luoda mallineita sekä lopuksi kuinka mallineeseen saadaan toiminnallisuutta.
Sisällysluettelo |
[muokkaa] Mallineen liittäminen
Malline voi sijaita kahdessa eri nimiavaruudessa. Yleisimmin mallineen tunnistaa etuliitteestä Malline: nimessä, mutta myös artikkelin alasivu voi toimia mallineena.
[muokkaa] Malline-nimiavaruudessa olevan mallineen liittäminen osaksi artikkelia
Yksinkertaisimmillaan malline voidaan liittää artikkeliin sulkemalla mallineen nimi (ilman nimiavaruusosaa Malline:) tuplakaarisulkeiden sisälle:
{{Mallineen nimi}}
Tällaisissa tapauksissa malline on niin kutsuttu listaava tai luetteloiva malline ilman sen kummempaa toiminnallisuutta, tai rakennettu siten että malline toimii yleisimmissä tapauksissa ilman parametreja.
Kun malline vaatii parametreja, lisätään ne mallineen nimen perään pystyviivalla eroteltuna:
{{Mallineen nimi|1|2|3}} {{Mallineen nimi|parametri2=2|parametri1=1|parametri3=3}} {{Mallineen nimi|1|2|parametri4=4}}
- Ensimmäisessä tapauksessa malline vastaanottaa parametreja tietyssä järjestyksessä, eikä parametria tule eikä pidä nimetä.
- Toisessa tapauksessa mallineen parametrit on nimetty, ja nimet tulee liittää osaksi mallinekutsua. Tällöin parametrien järjestyksellä ei ole väliä, vaan MediaWiki järjestelee parametrit nimen perusteella oikein
- Kolmannessa tapauksessa mallineella on sekä tietyssä järjestyksessä käsiteltäviä parametreja, että nimettyjä parametreja. Tällöin järjestyksessä käsiteltävien parametrien tulee sijaita oikeassa kohdassa, mutta nimetyt parametrit voivat olla halutussa järjestyksessä mallinekutsun lopussa.
[muokkaa] Alasivun liittäminen osaksi artikkelia tai artikkelin toista alasivua
Myös artikkelin alasivu voi toimia toimia mallineena, mutta vain itse artikkelille ja artikkelin muille alasivuille. Tämän tyylistä ratkaisua suositaan useasti muun muassa Wikipedian äänestyssivuilla, teemasivuilla sekä joissakin Wikiprojekteissa.
Alasivun kutsuminen artikkelissa tapahtuu muuten samoin kuin mallinekutsu, mutta mukaan täytyy liittää kauttaviiva nimen eteen:
{{/Alasivu}}
Artikkelin alasivun kutsuminen toisella alasivulla taas tapahtuu liittämällä nimen eteen ../ :
{{../Alasivu}}
Myös alasivut osaa käsitellä parametreja samalla tavalla kuin mallineet, pystyviivalla eroteltuna:
{{/Alasivu|1|2|3}} {{/Alasivu|parametri2=2|parametri1=1|parametri3=3}} {{/Alasivu|1|2|parametri4=4}}
Tarvittaessa sivulle voidaan liittää myös toinen artikkeli:
{{:Toinen artikkeli}}
Tätä kuitenkin tulee välttää, sillä hyvin harvoin tämä on tarpeellista.
[muokkaa] Mallineen luonti
Ennen mallineen luomista on hyvä tarkastaa mallineluokan avulla ettei kukaan ole jo luonut vastaavanlaista mallinetta jota tarvitsisit artikkelissa. Osa mallineista saattaa olla myös luokittelemattomia mallineita, joten hyvä paikka tarkastaa mallineen olemassaolo on myös vastaavanlainen artikkeli. Mikäli tarvittava malline löytyy mutta ei täysin täytä tarvettasi, voit huoletta muokata mallinetta sopivaksi, tai mikäli haluat, voit myös esittää toiveen mallineprojektin sivulla.
Mikäli tarvitsemaasi mallinetta ei löydy, tulee miettiä:
- Tullaanko sama / samankaltainen tieto toistamaan useilla sivuilla
- Mikäli ei, tulisi mallineen sijasta rakentaa tieto suoraan artikkeliin
- Looginen nimi mallineelle
- Mallineen vakiosijainti artikkelissa (ylhäällä oikealla, alhaalla keskellä, jossain muualla)
- Mallineen toiminta mikäli kyseessä on muu kuin listaava / luetteloiva malline
Kun nämä kohdat on selvillä, voit aloittaa mallineen luonnin kirjoittamalla esimerkiksi vasemmalle hakuun Malline:Mallineen nimi tai halutessasi jättää mallineen luontipyynnön.
[muokkaa] Toiminnallisuuden lisääminen mallineeseen
Mallineisiin voidaan lisätään toiminnallisuutta parametreilla ja funktioilla.
[muokkaa] Parametrit
Parametrit ovat eräänlaisia muuttujia jotka vastaanottavat mallinekutsussa (katso yllä) mallineelle erilaisia arvoja. Parametrit suljetaan mallineen sisällä kolmoiskaarisulkeisiin ( {{{ ja }}} ) ja ne voidaan asettaa minne tahansa tavallisen mallinesisällön sisään.
Esimerkki:
Malline parametrilla jonka arvo on {{{1}}}
Esimerkki tulostaisi kohtaan {{{1}}} mallineelle ensiksi määritellyn parametrin. Mikäli kolmoiskaarisulkeiden sisällä olisi numeron sijasta tekstiä, esimerkiksi {{{parametri}}}, pitäisi mallinetta kutsuessa määritellä parametri = arvo.
[muokkaa] Parametrien ketjuttaminen
Välillä mallinetta luodessa tulee ajatusvirheitä parametrien nimissä, tai tarvitaan tulostaa tietty asia kun yksi parametri kahdesta (tai useammasta parametrista) on määritelty. Näissä tapauksissa parametreja voidaan ketjuttaa:
{{{param|{{{parametri}}}}}}
Yllä mainitussa esimerkissä tulostettaisiin parametrin param arvo, tai jos sitä ei olisi määritelty, tulostettaisiin parametrin parametri arvo. Tällä keinolla laajasti käytössä olevan mallineen parametrien nimiä voidaan muuttaa ilman että mallinetta käyttävät sivut häiriintyy muutoksesta, ja saadaan aikaa päivittää mallinetta käyttävät sivut käyttämään uusia parametreja.
Parametreja voidaan käytännössä ketjuttaa kuinka monta tahansa lisäämällä aina pystypalkki ja uusi parametri yllä olevan esimerkin mukaisesti parametrin nimen tai numeron perään.
[muokkaa] Parametrin ehdollistaminen ja oletusarvon käyttö
Parametri voidaan tarvittaessa ehdollistaa käyttämällä parametrien ketjuttamisessa kuvattua tapaa, mutta sen sijaan että määriteltäisiin uusi parametri, voidaan määritellä tyhjä (eli ehdollistaa) tai oletusarvo:
{{{1|ei arvoa}}} {{{2|}}}
Yllä oleva esimerkki tulostaisi ensimmäisen parametrin arvon tai ei arvoa ja lisäisi tulosteen perään toisen parametrin arvon mikäli se olisi määritelty.
[muokkaa] Vakiomuuttujat
Mediawiki määrittelee suuren joukon vakiomuuttujia. Poiketen parametreista, vakiomuuttujat lisätään kaksoiskaarisulkeiden ({{ ja }}) sisälle. Vakiomuuttujia ovat:
Muuttuja | Tulos |
---|---|
{{CURRENTMONTH}} | 04 |
{{CURRENTMONTHNAME}} | huhtikuu |
{{CURRENTMONTHNAMEGEN}} | huhtikuun |
{{CURRENTMONTHABBREV}} | huhtikuu |
{{CURRENTDAY}} | 11 |
{{CURRENTDOW}} | 3 |
{{CURRENTDAYNAME}} | keskiviikko |
{{CURRENTWEEK}} | 15 |
{{CURRENTYEAR}} | 2007 |
{{CURRENTTIME}} | 04.46 |
{{NUMBEROFARTICLES}} | 108 642 |
{{NUMBEROFFILES}} | 7619 |
{{ns:-2}} tai {{ns:Media}} | Media |
{{ns:-1}} tai {{ns:Special}} | Toiminnot |
{{ns:1}} tai {{ns:Talk}} | Keskustelu |
{{ns:2}} tai {{ns:User}} | Käyttäjä |
{{ns:3}} tai {{ns:User_talk}} | Keskustelu_käyttäjästä |
{{ns:4}} tai {{ns:Project}} | Wikipedia |
{{ns:5}} tai {{ns:Project_talk}} | Keskustelu_Wikipediasta |
{{ns:6}} tai {{ns:Image}} | Kuva |
{{ns:7}} tai {{ns:Image_talk}} | Keskustelu_kuvasta |
{{ns:8}} tai {{ns:MediaWiki}} | Järjestelmäviesti |
{{ns:9}} tai {{ns:MediaWiki_talk}} | Keskustelu_järjestelmäviestistä |
{{ns:10}} tai {{ns:Template}} | Malline |
{{ns:11}} tai {{ns:Template_talk}} | Keskustelu_mallineesta |
{{ns:12}} tai {{ns:Help}} | Ohje |
{{ns:13}} tai {{ns:Help_talk}} | Keskustelu_ohjeesta |
{{ns:14}} tai {{ns:Category}} | Luokka |
{{ns:15}} tai {{ns:Category_talk}} | Keskustelu_luokasta |
{{ns:100}} | Teemasivu |
{{ns:101}} | Keskustelu_teemasivusta |
{{SITENAME}} | Wikipedia |
{{SERVERNAME}} | srv42 |
{{SERVER}} | http://fi.wikipedia.org |
{{SCRIPTPATH}} | /w |
{{localurl:pagename}} | ../../../p/a/g/Pagename.html |
{{localurl:pagename|query string}} | ../../../p/a/g/Pagename.html |
{{PAGENAME}} | Malline |
{{PAGENAMEE}} | Malline |
{{NAMESPACE}} | Ohje |
[muokkaa] Erikoisvakiomuuttujat
Muuttuja | Esimerkki | Tulos |
---|---|---|
{{FULLURL:}} | {{FULLURL:Sivu}} | http://fi.wikipedia.org../../../s/i/v/Sivu.html |
{{FULLURLE:}} | {{FULLURLE:Sivu ääkkösillä}} | http://fi.wikipedia.org../../../s/i/v/Sivu_%C3%A4%C3%A4kk%C3%B6sill%C3%A4.html |
{{GRAMMAR:}} | {{GRAMMAR:elative|sana}} | sanasta |
{{INT:}} | {{INT:{{SITENAME}}}} | <Wikipedia> |
{{LC:}} | {{LC:KAIKKI PIENELLÄ}} | kaikki pienellä |
{{LCFIRST:}} | {{LCFIRST:Ensimmäinen Kirjain Pienellä}} | ensimmäinen Kirjain Pienellä |
{{LOCALURL:}} | {{LOCALURL:Sivu}} | ../../../s/i/v/Sivu.html |
{{LOCALURLE:}} | {{LOCALURLE:Sivu ääkkösillä}} | ../../../s/i/v/Sivu_%C3%A4%C3%A4kk%C3%B6sill%C3%A4.html |
{{PLURAL:}} | {{PLURAL:6|yksi kappale|6 kappaletta}} | 6 kappaletta |
{{UC:}} | {{UC:kaikki isolla}} | KAIKKI ISOLLA |
{{UCFIRST:}} | {{UCFIRST:ensimmäinen kirjain isolla}} | Ensimmäinen kirjain isolla |
[muokkaa] Funktiot
Wikipediassa on käytössä ParserFunctions -laajennus, joka tukee seuraavia funktioita:
[muokkaa] #expr:
{{#expr: lauseke }}
expr laskee matemaattisia lausekkeita, ja tukee seuraavia matemaattisia ja loogisia operaattoreita: (), +, -, not, *, /, div, mod, round, =, <>, !=, <, >, <=, >=, and ja or.
Esimerkki:
{{#expr: 6 + (2 * 4) }}
Lisätietoja meta:ParserFunctions#.23expr:
[muokkaa] #if:
{{#if: ehto | teksti | muuten teksti }} {{#if: ehto | teksti }}
if on looginen ehtolause, joka tulostaa tietyn tekstin mikäli parametri ei ole tyhjä (eli parametri on määritelty ja parametri sisältää muutakin kuin tulostumattomia merkkejä) ja tarvittaessa kun ehto ei täyty, toisen tekstin.
Esimerkki:
{{#if: {{{parametri|}}} | parametri määritelty | parametria ei määritelty }}
Lisätietoja meta:ParserFunctions#.23if:
[muokkaa] #ifeq:
{{#ifeq: teksti1 | teksti2 | kun yhtäsuuret | muuten }}
ifeq on looginen ehtolause, joka tulostaa tietyn tekstin mikäli vertailtavat tekstit ovat samat tai kun ehto ei täyty, toisen tekstin.
Esimerkki:
{{#ifeq: {{{parametri|}}} | tulosta | parametri oli tulosta | parametri ei ollut tulosta }}
Lisätietoja meta:ParserFunctions#.23ifeq:
[muokkaa] #ifexist:
{{#ifexist: artikkeli | artikkeli löytyi | artikkelia ei löytynyt }}
ifexist on looginen ehtolause, joka tulostaa tietyn tekstin mikäli artikkeli löytyy tai kun artikkelia ei löydy, toisen tekstin.
Esimerkki:
{{#ifexist: Artikkeli | Artikkeli löytyi | Artikkelia ei löytynyt }}
Lisätietoja meta:ParserFunctions#.23ifexist:
[muokkaa] #ifexpr:
{{#ifexpr: ehto | ehto tosi | ehto epätosi }}
ifexpr on looginen ehtolause, joka tulostaa tietyn tekstin mikäli määritelty ehto on tosi tai ehdon ollessa epätosi, toisen tekstin.
Esimerkki:
{{#ifexpr: {{{parametri}}}=1 | parametri oli yksi | parametri ei ollut yksi }}
Lisätietoja meta:ParserFunctions#.23ifeq:. HUOM: Funktiolla on muutama erikoiskäyttäytyminen, kannattaa katsoa Metan sivu näiden välttämiseksi.
[muokkaa] #switch:
{{#switch: vertailuehto | arvo1 = tulos1 | arvo2 = tulos2 | ... | arvon = tulosn | oletustulos }}
switch on looginen ehtolause, joka tulostaa tietyn tekstin mikäli määritelty vertailuehto täsmää lueteltuihin arvoihin tai kun täsmäävyyttä ei löydy, oletustuloksen.
Esimerkki:
{{#switch: {{{parametri}}} | 1 = yksi | 2 = kaksi | 100 = sata | Arvo ei ollut yksi, kaksi tai sata }}
Lisätietoja meta:ParserFunctions#.23switch:.
[muokkaa] #time:
{{#time: muoto }} {{#time: muoto | aika}}
time on ajan muotoilemiseen käytetty funktio, joka osaa muotoilla nykyisen ajan halutun laiseksi, tai mikäli aika on määritelty, myös muut ajat.
Esimerkki:
{{#time: j.n.Y H.i.s | -1 year }}
Lisätietoja meta:ParserFunctions#.23time:. HUOM: Funktion sisällä voi tulostaa myös varattuja merkkejä käyttämällä \ -merkkiä varatun merkin edessä (esimerkiksi \H). Metan sivulla on tarkka luettelo miten aikaa voi muotoilla ja missä muodossa ajan voi funktiolle syöttää.
[muokkaa] #rel2abs:
{{#rel2abs: polku }} {{#rel2abs: polku | pohjapolku }}
rel2abs muuntaa määritetyn polun relatiivisesta polusta absoluuttiseksi poluksi käyttäen tarvittaessa pohjapolkua lähtökohtana.
Esimerkki:
{{#rel2abs: ../Alasivu1 }} palauttaisi Alasivu1 {{#rel2abs: ../Alasivu1 | Ohje:Mallineet/Alasivu2 }} palauttaisi Ohje:Mallineet/Alasivu1
Lisätietoja meta:ParserFunctions#.23rel2abs:
[muokkaa] Muut mallineisiin liittyvät Mediawikin ominaisuudet
Mediawiki tukee oletuksena myös muutamaa, lähinnä mallineita varten kehitettyä toimintoa jotka ovat:
[muokkaa] subst
subst (engl. 'substitution') eli vastine lisää mallineen sisällön sivulle vastineena, eli toiminto noutaa mallineen koodin ja lisää sen sivulle relatiivisen {{Malline}} kutsun sijasta. Tämä on varsin hyödyllinen toiminto etenkin keskustelusivuilla, jonne mallineen voi kirjoittaa sellaisena kuin se kirjoitushetkellä on ilman että keskustelusivu muuttuu mallineen muutoksen myötä.
[muokkaa] noinclude
noinclude on nimensä mukaisesti tagi, joka estää mallineen ohjeiden, sisäisten luokkien ja muiden mallineeseen kuulumattomien tietojen vuotamisen artikkeleihin. Mallineisiin tulee merkitä käyttöohjeet, mahdolliset kielilinkit sekä mallineen oma luokka <noinclude>...</noinclude> -tagien väliin.
[muokkaa] includeonly
includeonly on niin ikään erikoistagi kehitetty etenkin mallineita varten. Tagi sisällyttää ainoastaan kutsuvaan artikkeliin tagien sisällä olevan tiedon, ja on hyödyllinen esimerkiksi silloin kun mallineen tulee luokitella sitä käyttävä artikkeli tiettyyn luokkaan, mutta mallineen itsensä ei tarvitse kyseiseen luokkaan kuulua. Tagit kokonaisuudessaan ovat <includeonly>...</includeonly>.