Ohje:Malline
Wikipedia
Wikipedian mallineet (engl. template) 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. Malline on sijoitettu sivulle tekstinpätkällä {{Tyyliopas}}. Monet mallineet myös laittavat artikkelin automaattisesti sopivaan luokkaan. 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. Olemassa olevia mallineita voi selata sivulla Wikipedia:Malline.
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 eli arvoja jotka määrittävät mallineen sisältöä, 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ää vinoviiva 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ä tulee kuitenkin välttää, sillä hyvin harvoin tämä on tarpeellista. Lisäksi sen käyttö voi hallitsemattomasti paisuttaa artikkelin kokoa, jos sisällytettäväkin artikkeli laajenee.
[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] Mediawikin avainsanat
[muokkaa] Sisällysluettelon avainsanat
-
Pääartikkeli: Wikipedia:Sisällysluettelo
Avainsana | Selite |
---|---|
__NOTOC__ | Piilottaa sisällysluettelon sivulta. |
__FORCETOC__ | Pakottaa sisällysluettelon esiin |
__TOC__ | Sijoittaa sisällysluettelon valittuun paikkaan välittämättä avainsanasta __NOTOC__. |
[muokkaa] Muut avainsanat
Avainsana | Selite |
---|---|
__NOEDITSECTION__ | Piilottaa sivulta [muokkaa] -linkit otsikkotasojen vierestä. |
__NEWSECTIONLINK__ | Lisää välilehden + ei-keskustelusivuille joiden avulla voi lisätä uuden osa-alueen sivulle. |
__NOCONTENTCONVERT__ __NOCC__ |
Estää sisällön maakohtaisen muuntamisen artikkeleita tarkasteltaessa. |
__NOGALLERY__ | Näyttää kuvaluokissa kuvat tekstimuotoisena, ei galleriana. |
__NOTITLECONVERT__ __NOTC__ |
Kuten __NOCC__ mutta vaikuttaa vain artikkelin otsikkoon. |
[muokkaa] Vakiomuuttujat
[muokkaa] Aika
Muuttuja | Tulos |
---|---|
{{CURRENTMONTH}} | 06 |
{{CURRENTMONTHNAME}} | kesäkuu |
{{CURRENTMONTHNAMEGEN}} | kesäkuun |
{{CURRENTMONTHABBREV}} | kesäkuu |
{{CURRENTDAY}} | 17 |
{{CURRENTDAY2}} | 17 |
{{CURRENTDOW}} | 2 |
{{CURRENTDAYNAME}} | tiistai |
{{CURRENTWEEK}} | 25 |
{{CURRENTYEAR}} | 2008 |
{{CURRENTTIME}} | 02.58 |
{{CURRENTTIMESTAMP}} | 20080617031911 |
[muokkaa] Paikallinen aika
Muuttuja | Tulos |
---|---|
{{LOCALDAY}} | 17 |
{{LOCALDAY2}} | 17 |
{{LOCALDAYNAME}} | tiistai |
{{LOCALDOW}} | 2 |
{{LOCALMONTH}} | 06 |
{{LOCALMONTHABBREV}} | kesäkuu |
{{LOCALMONTHNAME}} | kesäkuu |
{{LOCALTIME}} | 03.19 |
{{LOCALHOUR}} | 03 |
{{LOCALWEEK}} | 25 |
{{LOCALYEAR}} | 2008 |
{{LOCALTIMESTAMP}} | 20080617031911 |
[muokkaa] Tilastot
Muuttuja | Tulos |
---|---|
{{CURRENTVERSION}} | 1.13alpha (r36279) |
{{NUMBEROFEDITS}} {{NUMBEROFEDITS:R}} |
5 092 796 5092796 |
{{NUMBEROFARTICLES}} {{NUMBEROFARTICLES:R}} |
166 259166259 |
{{NUMBEROFPAGES}} {{NUMBEROFPAGES:R}} |
431 800 431800 |
{{NUMBEROFFILES}} {{NUMBEROFFILES:R}} |
15 516 15516 |
{{NUMBEROFUSERS}} {{NUMBEROFUSERS:R}} |
83 453 83453 |
{{NUMBEROFADMINS}} {{NUMBEROFADMINS:R}} |
42 42 |
{{PAGESINNAMESPACE}} | ei käytössä |
{{PAGESINNS:ns}} {{PAGESINNS:ns:R}} |
{{PAGESINNS:2}} {{PAGESINNS:2:R}} ei käytössä |
[muokkaa] Sivun nimi ja siihen liittyvä tieto
Muuttuja | Tulos |
---|---|
{{PAGENAME}} | Malline |
{{PAGENAMEE}} | Malline |
{{SUBPAGENAME}} {{SUBPAGENAMEE}} |
Malline Malline |
{{BASEPAGENAME}} {{BASEPAGENAMEE}} |
Malline Malline |
{{NAMESPACE}} {{NAMESPACEE}} |
Ohje Ohje |
{{FULLPAGENAME}} {{FULLPAGENAMEE}} |
Ohje:Malline Ohje:Malline |
{{TALKSPACE}} {{TALKSPACEE}} |
Keskustelu ohjeesta Keskustelu_ohjeesta |
{{SUBJECTSPACE}} {{SUBJECTSPACEE}} |
Ohje Ohje |
{{ARTICLESPACE}} {{ARTICLESPACEE}} |
Ohje Ohje |
{{TALKPAGENAME}} {{TALKPAGENAMEE}} |
Keskustelu ohjeesta:Malline Keskustelu_ohjeesta:Malline |
{{SUBJECTPAGENAME}} {{SUBJECTPAGENAMEE}} |
Ohje:Malline Ohje:Malline |
{{ARTICLEPAGENAME}} {{ARTICLEPAGENAMEE}} |
Ohje:Malline Ohje:Malline |
{{REVISIONID}} | 4894919 |
{{REVISIONDAY}} | 4 |
{{REVISIONDAY2}} | 04 |
{{REVISIONMONTH}} | 6 |
{{REVISIONYEAR}} | 2008 |
{{REVISIONTIMESTAMP}} | 20080604212014 |
{{SITENAME}} | Wikipedia |
{{SERVER}} | http://fi.wikipedia.org |
{{SCRIPTPATH}} | ../../../.. |
{{SERVERNAME}} | localhost |
[muokkaa] Mediawikin funktiot
[muokkaa] Nimiavaruus ja osoitteet
Funktio | Tulos |
---|---|
{{ns:}} | {{ns:4}} = Wikipedia {{ns:project}} = Wikipedia |
{{localurl:x y @}} {{localurle:x y @}} {{localurl:a|b=c}} {{localurl:Wikipedia:Luokittelu}} |
../../../../articles/x/_/y/X_y_%40.html ../../../../articles/x/_/y/X_y_%40.html ../../../../articles/a/_/_/A.html ../../../../articles/l/u/o/Wikipedia%7ELuokittelu_f205.html |
{{urlencode:x y @}} | x+y+%40 |
{{anchorencode:x #y @}} | x_.23y_.40 |
{{fullurl:x y @}} {{fullurle:x y @}} {{fullurl:m:a|b=c}} |
http://fi.wikipedia.org../../../../articles/x/_/y/X_y_%40.html http://fi.wikipedia.org../../../../articles/x/_/y/X_y_%40.html http://meta.wikimedia.org/wiki/a?b=c |
[muokkaa] Muotoilu
Funktio | Tulos |
---|---|
{{#language:}} | {{#language:da}} = Dansk |
{{lc:}} | {{lc:AbC dEf}} = abc def |
{{lcfirst:}} | {{lcfirst:Ab Cd}} = ab Cd |
{{uc:}} | {{uc:aBc DeF}} = ABC DEF |
{{ucfirst:}} | {{ucfirst:aB cD}} = AB cD |
{{formatnum:}} | {{formatnum:-299792458.56789}} = -299 792 458,56789 |
{{padleft:}} {{padright:}} |
{{padleft:7|3|0}} = 007 |
[muokkaa] Mallinefunktiot
Funktio | Selite |
---|---|
{{:xyz}} | Ei varsinainen mallinefunktio, mutta etuliite nimiavaruudelle. Käytettäessä artikkeliin, hakee tämä metodi artikkelin sisällön toiselle sivulle, ja haluttaessa malline haettavaksi tällä menetelmällä, tulee käyttää nimiavaruuden etuliitettä Malline (esim. {{:Wikistaatti}} eroaa {{Wikisitaatti}} = {{:Malline:Wikisitaatti}}). |
{{int:xyz}} | Lyhyempi versio {{MediaWiki:xyz}}, joka tulostaa <xyz> jos MediaWiki:xyz ei löydy. |
{{msg:xyz}} | Vaikka avainsana xyz olisi olemassa, käytetään mallinetta xyz sen löytyessä. Mahdollistaa avainsanojen nimellä toimivien mallineiden luonnin ilman ristiriitaisuuksia. |
{{msgnw:xyz}} | Laajentamaton malline, tulostaa mallineen koodin samalla tavalla kuin <nowiki>...</nowiki> sisällä. |
{{raw:xyz}} | Sama kuin {{msg:xyz}}. |
{{subst:xyz}} | Tekee mallineesta sivulle vastineen, katso #subst. |
[muokkaa] Muut
Funktio | Esimerkki | Selite |
---|---|---|
{{DISPLAYTITLE:xyz}} | oletuksena pois päältä | Asettaa sivun otsikon eriäväksi sivun nimen kanssa, katso http://svn.wikimedia.org/viewvc/mediawiki?view=rev&revision=13572 . |
{{DIRMARK}} {{DIRECTIONMARK}} |
|
u+200E vasemmalta oikealle tai u+200D oikealta vasemmalle |
{{CONTENTLANGUAGE}} | fi | Sisällön kielen koodi |
{{DEFAULTSORT:xyz}} | {{DEFAULTSORT:xyz}} | Asettaa oletuslajittelunimen sivulle luokittelua varten. |
[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 suorana koodina 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ä. Toiminto saadaan koodilla
{{subst:Malline}}
[muokkaa] noinclude
noinclude on nimensä mukaisesti tagi, joka estää mallineen ohjeiden, sisäisten luokkien ja muiden mallineeseen kuulumattomien tietojen vuotamisen artikkeleihin. Tagit kokonaisuudessaan ovat
<noinclude>tiedot</noinclude>
[muokkaa] includeonly
includeonly on niin ikään etenkin mallineita varten kehitetty tagi. 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>tiedot</includeonly>