Wikiprojekti:Mallineet/Linjaukset
Mallineprojektin linjaukset ovat käytössä olevia ja tulevia käytäntöjä mallineiden luokitteluun, toteuttamiseen ja muihin projektin toimiin mallineiden parissa. Huomioithan että nämä ovat projektin omia, sisäisiä käytäntöjä eikä näihin tule vedota esimerkiksi poistotapauksissa Wikipedian käytäntönä.
Mallineiden luonti
muokkaaKun mallineita luodaan, on hyvä noudattaa joitakin vakiintuneita ja vakiintumassa olevia käytäntöjä.
Yleisiä käytäntöjä
muokkaa- Mikäli luodaan apumalline laskuoperaation suorittamiseksi, ei apumallineen tule muotoilla tulosta ja / tai lisätä tulokseen erikoismerkkejä (kuten %, €, £, $) sillä tämän kaltainen muotoilu tuhoaa käytön laskutoimituksissa (kuten #expr sisällä). Tämä muotoilu tulee suorittaa vasta tulostavassa päämallineessa MediaWikin sisäisellä funktiolla {{formatnum:<arvo>}}.
- Parametrit tulee pyrkiä kirjoittamaan alusta loppuun pienillä kirjaimilla
- Poikkeuksen tähän tekee lyhenteet (esimerkiksi NASA) sekä ohjelmallisesti ylläpidettävät mallineet, jolloin ohjelma pitää huolen merkkikoosta
- Mallineiden tulee olla suomen kielellä: mallineen nimi, parametrit sekä ulosanti tulee olla aina suomen kielellä. Poikkeuksen tähän tekee:
- copy-paste-paikat (kuten {{Cite web}}) joiden on tarkoitus estää kopiokäännöksenä toisesta kieliversiosta tuodun artikkelin täydellisen rikkoutumisen
- vakiintuneet anglismit (kuten {{Single}})
- mallineen osa-alueella yleisesti käytössä olevat vieraskieliset termit jotka suomeksi kirjoitettuna ovat huomattavasti pidempiä (vertaa {{Pyöristä alaspäin}} – {{Floor}})
- Näissäkin tapauksissa (mahdollisuuksien mukaan) mallineen tulisi mieluummin käyttää jo valmiiksi suomenkielistä, vastaavaa mallinetta sisäisesti. Mikäli malline ei kuulu edellä mainittuihin poikkeustapauksiin, tulee malline korjata tai lisätä mallineen yläosaan <noinclude>{{Korjattava/malline}}</noinclude>.
Nimeäminen
muokkaaMallineiden olisi hyvä käyttää nimeämisissä yhtenäistä linjaa, jolloin mallineiden käyttötarkoitus on helpompi tunnistaa jo nimestä. Seuraavat nimeämistavat ovat vakiintuneet:
- {{Käyttäjälaatikko}}: Malline:Käyttäjälaatikko Nimi
- {{Käyttäjälaatikko}}, wikiprojektit: Malline:Käyttäjälaatikko/Wikiprojekti
- {{Tynkämalline}}: Malline:Tynkä/aihe
- {{Maan nimi}}: Maa
- {{Maan nimi lippu}}:
Kun käytetään pohjamallineita, olisi nimeäminen hyvä tehdä seuraavasti (jossa NIMI on asian omainen aihe muodossa Aihe):
Tätä wikiprojektia tai sen osaa on pyydetty parannettavaksi, koska se ei täytä Wikipedian laatuvaatimuksia. Voit auttaa Wikipediaa parantamalla wikiprojektia tai merkitsemällä ongelmat tarkemmin. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: näin ei ole tehty aikoihin |
- {{Navigaatio}}: Malline:Navigaatio:NIMI (nykyisin käytössä on muoto NIMInavigaatio)
- {{Pystynavigaatio}}: Malline:Pystynavigaatio:NIMI (nykyisin käytössä on muoto NIMInavigaatio)
- {{Tietolaatikko}}: Malline:Tietolaatikko:NIMI (nykyisin käytössä on muoto NIMI)
- {{Viestipohja}}: Malline:Viesti:NIMI
Kun malline on tietyn mallineen kanssa toimiva apumalline, tulisi nimi olla Malline:Päämalline/apumalline. Jos kyseessä on yleisluontoinen apumalline (kuten {{Prosenttia}}), tulee käyttää mahdollisimman yksiselitteistä, helposti muistettavaa nimeä.
Mikäli malline päätetään siirtää uudelle nimelle, tulee ennen siirtoa informoida mahdollisesta siirrosta mallineen luojalle sekä mahdollisille aktiivikäyttäjille. Jos lyhyen keskustelun tuloksena päädytään siirtämään malline uudelle nimelle, tulee ennen uudelleenohjauksen poistamista korjata kaikki viittaukset vanhaan nimeen.
Linkitys
muokkaaAivan kuin luodessasi uutta artikkelia, mieti mikä on wikilinkityksen kannalta olennaista tietoa. Älä linkitä jokaista sanaa. Myös vuosilukujen linkittäminen on yleensä turhaa. Esimerkki:
- Malline:Naisten 10 000 metrin juoksun maailmanmestarit - mallineessa on linkit voittajiin sekä otsikossa kyseessä olevaan lajiin, mutta ei naisiin, yleisurheilun MM-kilpailuihin yleensä, yksittäisiin kilpailuihin tai yksittäisiin vuosilukuihin.
Mallineiden ohjeet, luokat ja muu metatieto
muokkaaKatso Wikipedia:Wikiprojekti Mallineet/Metatieto.
Toiminnalliset mallineet
muokkaaKäytäntöjä toiminnallisten mallineiden (eli mallineiden jotka sisältävät parametreja) toteuttamiseen.
Luokitteleva malline
muokkaaMikäli malline luokittelee artikkeleita, tulee luokan sijaita <includeonly>[[Luokka:Artikkeliluokka]]</includeonly>–muotoisena tai ehtorakenteen sisällä siten että malline ei luokittele itseään artikkeliluokkaan
Alaspäin yhteensopivuus
muokkaaMikäli laajalti käytössä olevan mallineen parametrien nimiä joutuu päivittämään, tulisi parametrit päivittää siten että ne olisi alaspäin yhteensopivia. Alaspäin yhteensopivuus toteutetaan ketjuttamalla uusi ja vanha parametri:
{{{uusi parametri|{{{vanha parametri}}}}}}
Tällöin malline ei hajoa vanhaa parametria käyttävissä artikkeleissa, ja artikkelipäivityksille jää enemmän aikaa.
Artikkeliluokan ehdollistaminen
muokkaaKun on tiedossa että malline ei saa luokitella niin kutsuttuun artikkeliluokkaan kuin tietyssä nimiavaruudessa sijaitsevat sivut jotka mallinetta käyttää, voidaan käyttää seuraavaa koodia:
<includeonly>{{#ifeq: {{NAMESPACE}} | {{ns:0}} | [[Luokka:Artikkeliluokka]] }}</includeonly>
{{ns:0}} kohdalla voidaan käyttää MediaWikin vakionimiavaruuksia (katso lista vakionimiavaruuksista m:Help:Namespace#List of namespaces) tai nimiavaruutta {{ns:100}} = Teemasivu, {{ns:101}} = Keskustelu teemasivusta, {{ns:102}} = Metasivu tai {{ns:103}} = Keskustelu metasivusta.
Ehtolauseessa parametrien ketjuttaminen
muokkaaTavallisesti parametrit tulostettaessa ketjutetaan muodossa {{{parametri|{{{parametri2|{{{parametri3}}}}}}}}}, mutta tätä tyyliä ei tulisi käyttää ehtolauseissa (kuten #if ja #ifeq). Kun ehtolauseen halutaan toteutuvan kun vähintään yksi tietyistä parametreista on asetettu erisuureksi kuin tyhjä, tulee käyttää muotoa
{{#if: {{{parametri|}}}{{{parametri2|}}}{{{parametri3|}}} | jokin kolmesta parametrista erisuuri kuin tyhjä }}
Mikäli käytetään tulostettaessa käytettävää ketjutustapaa, ei malline toimi mikäli mallinetta kutsuessa määritellään parametri tyhjäksi koodilla | parametri = .
Taulukon rivin ehdollistaminen
muokkaa{| |- {{#if: {{{parametri|<noinclude>-</noinclude>}}} | {{!}} Nimi {{!}} {{{parametri}}} {{!-}} }} {{#if: {{{parametri2|<noinclude>-</noinclude>}}} | {{!}} Nimi2 {{!}} {{{parametri2}}} {{!-}} }} |}
Hyödyt:
- Taulukko ei sekoa vaikka ehdollistettavia kenttiä olisi useita
- Selaimet tulkitsee koodin oikein, sillä se muotoillaan jo palvelimella XHTML-standardin mukaiseksi
- class{{{parametri|}}}="hiddenStructure" ei ole XHTML-standardin mukaista
- Menetelmän avulla mallineen sivulla näkyy kaikki kentät sekä parametrien sijoittuminen
Lisäksi tällä menetelmällä voidaan varmistaa että MediaWikin taulukkoparseri ei sekoa ja lisää taulukkokoodin alkuun tyhjää kappale-elementtiä <p><br /></p>.
Rekisteröityneen käyttäjän tunnistaminen
muokkaaJoissakin mallineissa (kuten {{Äänioikeus}} ja {{Anonyymi}}) tarvitaan tietoa onko käyttäjä rekisteröitynyt vai ei. Suurimmassa osassa käyttäjätunnuksista on vähintään yksi kirjain, jolloin vertailun voi suorittaa funktioilla {{lc:}} ja {{uc:}}:
{{#ifeq: {{lc:{{PAGENAME}}}} | {{uc:{{PAGENAME}}}} | IP | Rekisteröitynyt }}
Väriteemat
muokkaaVäriteemoja varten on kehitetty {{Aihealue}}, joka tarjoaa yhdenmukaisen värityksen taustalle ({{Aihealue/väri}}), korostusvärin taustalle ({{Aihealue/taustaväri}}), reunukselle ({{Aihealue/reunus}}) sekä tekstille {{Aihealue/tekstinväri}}.
Tietolaatikot
muokkaaTietolaatikkojen yhdenmukaistamista varten on kehitetty sarja mallineita {{Tietolaatikko}} alle.
{{Tietolaatikko}}
muokkaaMallineet | |||||||
---|---|---|---|---|---|---|---|
Aihe | Linjaukset | ||||||
Katso myös | |||||||
Projekti | Mallineet | ||||||
|
|||||||
Tietolaatikon yläosa. Käyttää reunuksien värityksessä {{Aihealue/reunus}} mukaista väriä.
Peruskutsu:
{{Tietolaatikko | aihealue = tekniikka | sisältö = <sisältö> }}
Tietolaatikon pääotsikko. Käyttää reunuksen värityksessä {{Aihealue/reunus}} ja taustan värityksessä {{Aihealue/taustaväri}} mukaista väriä.
Peruskutsu:
- {{Tietolaatikko/otsikko|aihealue=tekniikka|sisältö=Otsikko}}
Tietolaatikon väliotsikko. Käyttää reunuksen värityksessä {{Aihealue/reunus}} ja taustan värityksessä {{Aihealue/taustaväri}} mukaista väriä.
Peruskutsu:
- {{Tietolaatikko/väliotsikko|aihealue=tekniikka|sisältö=Väliotsikko}}
Tietolaatikon tietorivi.
Peruskutsu:
- {{Tietolaatikko/tietorivi|nimi=Kenttä|sisältö={{{arvo}}}}}
{{Tietolaatikko/kuva}} ja {{Tietolaatikko/kuvat}}
muokkaaTietolaatikon kuva– tai kahden kuvan kenttä. Käyttää reunuksien värityksessä {{Aihealue/reunus}} mukaista väriä.
Peruskutsut:
- {{Tietolaatikko/kuva|aihealue=tekniikka|kuva={{{kuva}}}|kuvateksti={{{kuvateksti}}}}}
- {{Tietolaatikko/kuvat|aihealue=tekniikka|kuva1={{{kuva1}}}|kuva2={{{kuva2}}}|kuvateksti1={{{kuvateksti1}}}|kuvateksti2={{{kuvateksti2}}}}}
Tietolaatikon linkkikenttä.
Peruskutsu:
- {{Tietolaatikko/linkki|linkki={{{linkki}}}|sisältö=Virallinen kotisivu}}
Tietolaatikon navigaatiokenttä, eli "edeltäjä-seuraaja"-kenttä.
Peruskutsu:
- {{Tietolaatikko/navigaatio|edeltäjänimi=Edellinen|tämänimi=Nykyinen|seuraajanimi=Seuraava|edeltäjä={{{edellinen}}}|tämä={{PAGENAME}}|seuraaja={{{seuraaja}}}}}
Rivin ehdollistaminen
muokkaaTietolaatikkomallinetta käytettäessä tulostettava rivi voidaan ehdollistaa aivan kuten taulukkorivin ehdollistamisessa.
{{#if: <ehto> | <tietolaatikon tuloste>}}
Navigaatiomallineet
muokkaaNavigaatiomallineet, eli mallineet jotka vain listaavat saman aihepiirin sivuja tulisi toteuttaa aina joko pystymallisena artikkelin oikealle puolelle (katso esimerkiksi {{Ranskan tasavalta}}) tai vaakamallisena artikkelin alalaitaan. Kun navigaatiomalline tehdään vaakatasossa, tulisi malline yleensä toteuttaa avattavana mallineena, mutta joka tapauksessa koko ruudun levyisenä.
Vaaka{{Navigaatio}}
muokkaaVaakatason navigaatiomallineiden avauskoodit käytettäessä {{Navigaatio}} ovat:
Historia
muokkaaMallineen väliin jäävä teksti
Kielitiede ja kieleen liittyvät
muokkaaMallineen väliin jäävä teksti
Liikenne
muokkaaMallineen väliin jäävä teksti
Maakohtaiset
muokkaaMallineen väliin jäävä teksti
Paikkakuntakohtaiset
muokkaaMallineen väliin jäävä teksti
Sota & konfliktit
muokkaaMallineen väliin jäävä teksti
Taide & kulttuuri
muokkaaMallineen väliin jäävä teksti
Talous
muokkaaMallineen väliin jäävä teksti
Tekniikka
muokkaaMallineen väliin jäävä teksti
Tiede
muokkaaMallineen väliin jäävä teksti
Urheilu
muokkaaMallineen väliin jäävä teksti
Yhteiskunta
muokkaaMallineen väliin jäävä teksti
{{Ryhmätaulu}}
muokkaaRyhmätaulu on taulukointiratkaisu jonka avulla voidaan toteuttaa nopeasti ja yhdenmukaisesti vaakanavigaation sisältötaulukon. Ryhmätaulu ei suoraan tue aihealueen väritystä, mutta värityksen voi määritellä #{{Aihealue/taustaväri|aihe}} ja #{{Aihealue/korostusväri|aihe}} avulla.
Pystymalliset sivun ylälaitaan tulevat navigaatiomalline tehdään {{Pystynavigaatio}}-mallineella.
Muut pohja– ja taittomallineet
muokkaaNäiden lisäksi muita pohja– tai taittomallineita on:
- {{Käyttäjälaatikko}} omille ja vakioiduille käyttäjälaatikoille
- {{Musiikkialbumi}} joka hoitaa taiton ja toiminnallisuuden mallineille {{Musiikkidvd}}, {{Musiikkisingle}} ja {{Musiikkikappale}}
- {{NaviTähdistö}} joka tarjoaa tähdistönavigaatiomallineiden toiminnallisuuden yhdessä {{Navigaatio}} kanssa
- {{Tuleva}} joka hoitaa tulevaisuusmallineiden taiton ja toiminnallisuuden
- {{Tynkämalline}} tynkäviestien pohjamallineeksi
- {{Viestipohja}} vakioviestien (kuten ongelmamallineiden) luomiseen
Tunnetut rajoitteet ja virheet ParserFunctions–laajennuksessa
muokkaaKaikki funktiot
muokkaaKaikki ParserFunctions–laajennuksen funktiot poistaa tuloksen alusta ja lopusta tulostumattomat merkit:
- {{#ifeq: {{#if: 1 | 1 }} | {{#if: 1 | 1 }} | Yhtäsuuret | Erisuuret }}
- Yhtäsuuret
Jos halutaan tulostaa alussa tai lopussa tulostumattomia merkkejä, tulee käyttää <nowiki /> etu- ja/tai jälkiliitettä:
- {{#ifeq: {{#if: 1 |<nowiki /> 1 }} | {{#if: 1 |<nowiki /> 1 }} | Yhtäsuuret | Erisuuret }}
- Erisuuret
- {{#ifeq: {{#if: 1 | 1 <nowiki />}} | {{#if: 1 | 1 <nowiki />}} | Yhtäsuuret | Erisuuret }}
- Erisuuret
#time
muokkaaFunktion #time ulosanti (output) on rajoitettu 6 000 merkkiin / sivukutsu. Mikäli tämä rajoitus ylittyy, palauttaa funktio virheviestin Error: too many #time calls. Tätä rajoitetta ei voi kiertää, ja ainoa keino viestin ilmaantuessa on lyhentää ajan muotoilussa käytettävää ulosantia:
- {{#time: [[j. F\t\a]] [[Y]]}} > {{#time: j.n.Y}}
- 22. marraskuuta 2024 > 22.11.2024
#ifexist
muokkaaFunktion #ifexist kutsukerrat / sivulataus tullaan rajoittamaan 100 kertaan, mutta tällä hetkellä rajoite on vielä 500 kutsukertaa. Kun kutsukerrat ylittää määritetyn rajan, tulee esikatselutilaan seuraavanlainen ilmoitus:
Tämä on vasta sivun esikatselu. Sivua ei ole vielä tallennettu!
Warning: This page contains too many #ifexist calls. It should have less than 500, there are now 501.
Tämän lisäksi sivu luokittuu automaattisesti luokkaan Pages with too many ifexist calls ja funktio lopettaa toimimisen 500 kutsukertaan.
Tulevaisuuden 100 kutsukerran rajoitetta on syytä pitää silmällä jottei funktiota käyttävät sivut lakkaa toimimasta rajoitteen astuessa voimaan. Alle viidensadan kutsukerran määrät saa selville sivun lähdekoodista, jossa sivun sisällön alalaitaan ilmestyy automaattisesti seuraavanlainen kommentti:
<!--
Pre-expand include size: 3392/2048000 bytes
Post-expand include size: 3392/2048000 bytes
Template argument size: 0/2048000 bytes
#ifexist count: 101/500
-->
#ifeq
muokkaaFunktiossa #ifeq on Bugzillan mukaisesti havaittu kaksi eri bugia:
Mikäli halutaan tulostaa funktiolla #ifeq kaksoispiste ensimmäisenä merkkinä, muotoutuu tulos väärin
- [[{{#ifeq: {{NAMESPACE}} | {{ns:0}} | {{FULLPAGENAME}} | :{{FULLPAGENAME}} }}]]
- [[
- Wikiprojekti:Mallineet/Linjaukset]]
Tämän ongelman välttämiseksi tulee käyttää linkkiä kokonaisuudessaan funktion sisällä:
- {{#ifeq: {{NAMESPACE}} | {{ns:0}} | [[{{FULLPAGENAME}}]] | [[:{{FULLPAGENAME}}]] }}
Mikäli funktiolla #ifeq verrataan onko sivun nimi jokin tietty, ei funktio toimi mikäli sivun nimessä on lainausmerkit (testiesimerkki toimii vain " alla):
- {{#ifeq: " | {{PAGENAME}} | 1 | 0}}
- 0
Tämän ongelman voi kiertää käyttämällä vertailuina toisen funktion (esimerkiksi localurl) tuloksia:
- {{#ifeq: {{localurl:"}} | {{localurl:{{PAGENAME}}}} | 1 | 0}}
- 1
Mallineiden järjestys
muokkaa1. Ylämalline | ||
---|---|---|
3. Sisältö lähdeviitteineen |
2. Oikea malline | |
4. Katso myös | ||
5. Lähteet & {{Viitteet}} | ||
6. Aiheesta muualla | ||
7. Navigaatiomalline(et) | ||
8. Tynkämalline | ||
9. Luokat | ||
10. Kieltenväliset linkit |
- Ylämalline: {{Tämä artikkeli}}, {{Pikapoisto}}, {{Poistettava}}...
- Oikea malline: Niin kutsuttu tietolaatikkomalline
- Sisältö: Artikkelin tekstisisältö (voi sisältää mallineita kuten {{Pääartikkeli}} <ref></ref>-tageilla merkityin lähdeviittein
- Katso myös -osio
- Lähteet sisältäen {{Viitteet}}
- Aiheesta muualla
- Navigaatiomalline(et)
- Tynkämalline
- Luokat
- Kieltenväliset linkit
Mallineiden korjaus
muokkaaKaikki korjattavaksi pyydetyt mallineet löytyvät huomiota kaipaavien mallineiden luokasta, jonne luokitellaan {{Korjattava/malline}} avulla. Kun malline korjataan, on hyvä tarkastaa myös:
- Toimintavarmuus
- Jos parametrilla on tietty oletusarvo, tulisi {{[parametri|oletusarvo}}} sijasta käyttää ehtolausetta {{#if: {{[parametri|}}} | {{{parametri}}} | oletusarvo }}. Tällöin tyhjäksi jätetty parametri ei sotke mallineen toiminnallisuutta
- Taulukkorivien ehdollistaminen
- Kaikki hiddenstructure-luokan avulla tehdyt ehdollistukset tulisi muuntaa toimintavarmempaan tapaan
- Parametrit ja sisältö
- Toisista kieliversioista otetut mallineet tulisi muuntaa suomen kielelle yleisten käytäntöjen mukaisesti
Mikäli mallineen korjaus tulee kestämään kauan, tulee alaspäin yhteensopivuudesta huolehtia ja merkata malline kehitteillä oleviin mallineisiin {{Kehitteillä oleva malline}} avulla. Jos mallineen muutos tulee lisäksi vaikuttamaan suureen osaan Wikipedian artikkeleita, tulee mallinemuutoksesta ilmoittaa tulossa olevissa päivityksissä laajan huomion varmistamiseksi.
Uudelleenohjaavat mallineet
muokkaaKatso uudelleenohjaukset.
Tuplamallineet
muokkaaKatso tuplamallineet.