Projektin etusivu Keskustelu

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

muokkaa

Kun 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

muokkaa

Mallineiden olisi hyvä käyttää nimeämisissä yhtenäistä linjaa, jolloin mallineiden käyttötarkoitus on helpompi tunnistaa jo nimestä. Seuraavat nimeämistavat ovat vakiintuneet:

  1. {{Käyttäjälaatikko}}: Malline:Käyttäjälaatikko Nimi
  2. {{Käyttäjälaatikko}}, wikiprojektit: Malline:Käyttäjälaatikko/Wikiprojekti
  3. {{Tynkämalline}}: Malline:Tynkä/aihe
  4. {{Maan nimi}}:   Maa
  5. {{Maan nimi lippu}}:  

Kun käytetään pohjamallineita, olisi nimeäminen hyvä tehdä seuraavasti (jossa NIMI on asian omainen aihe muodossa Aihe):

  1. {{Navigaatio}}: Malline:Navigaatio:NIMI (nykyisin käytössä on muoto NIMInavigaatio)
  2. {{Pystynavigaatio}}: Malline:Pystynavigaatio:NIMI (nykyisin käytössä on muoto NIMInavigaatio)
  3. {{Tietolaatikko}}: Malline:Tietolaatikko:NIMI (nykyisin käytössä on muoto NIMI)
  4. {{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

muokkaa

Aivan kuin luodessasi uutta artikkelia, mieti mikä on wikilinkityksen kannalta olennaista tietoa. Älä linkitä jokaista sanaa. Myös vuosilukujen linkittäminen on yleensä turhaa. Esimerkki:

Mallineiden ohjeet, luokat ja muu metatieto

muokkaa

Katso Wikipedia:Wikiprojekti Mallineet/Metatieto.

Toiminnalliset mallineet

muokkaa

Käytäntöjä toiminnallisten mallineiden (eli mallineiden jotka sisältävät parametreja) toteuttamiseen.

Luokitteleva malline

muokkaa

Mikä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

muokkaa

Mikä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

muokkaa

Kun 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

muokkaa

Tavallisesti 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:

  1. Taulukko ei sekoa vaikka ehdollistettavia kenttiä olisi useita
  2. Selaimet tulkitsee koodin oikein, sillä se muotoillaan jo palvelimella XHTML-standardin mukaiseksi
  3. class{{{parametri|}}}="hiddenStructure" ei ole XHTML-standardin mukaista
  4. 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

muokkaa

Joissakin 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

muokkaa

Vä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

muokkaa

Tietolaatikkojen yhdenmukaistamista varten on kehitetty sarja mallineita {{Tietolaatikko}} alle.

Mallineet
Aihe Linjaukset
Katso myös
Projekti Mallineet
Edellinen sivu Seuraava sivu
Etusivu Linjaukset Luokattomat 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}}}}}

Tietolaatikon 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

muokkaa

Tietolaatikkomallinetta käytettäessä tulostettava rivi voidaan ehdollistaa aivan kuten taulukkorivin ehdollistamisessa.

{{#if: <ehto> | <tietolaatikon tuloste>}}

muokkaa

Navigaatiomallineet, 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ä.

Vaakatason navigaatiomallineiden avauskoodit käytettäessä {{Navigaatio}} ovat:

Historia
muokkaa
Kielitiede ja kieleen liittyvät
muokkaa
Liikenne
muokkaa
Maakohtaiset
muokkaa
Paikkakuntakohtaiset
muokkaa
Sota & konfliktit
muokkaa
Taide & kulttuuri
muokkaa
Talous
muokkaa
Tekniikka
muokkaa
Urheilu
muokkaa
Yhteiskunta
muokkaa

Ryhmä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

muokkaa

Näiden lisäksi muita pohja– tai taittomallineita on:

Tunnetut rajoitteet ja virheet ParserFunctions–laajennuksessa

muokkaa

Kaikki funktiot

muokkaa

Kaikki 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

Funktion #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

muokkaa

Funktion #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
-->

Funktiossa #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}}]] }}
Wikiprojekti:Mallineet/Linjaukset

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

muokkaa
1. 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
  1. Ylämalline: {{Tämä artikkeli}}, {{Pikapoisto}}, {{Poistettava}}...
  2. Oikea malline: Niin kutsuttu tietolaatikkomalline
  3. Sisältö: Artikkelin tekstisisältö (voi sisältää mallineita kuten {{Pääartikkeli}} <ref></ref>-tageilla merkityin lähdeviittein
  4. Katso myös -osio
  5. Lähteet sisältäen {{Viitteet}}
  6. Aiheesta muualla
  7. Navigaatiomalline(et)
  8. Tynkämalline
  9. Luokat
  10. Kieltenväliset linkit

Mallineiden korjaus

muokkaa

Kaikki korjattavaksi pyydetyt mallineet löytyvät huomiota kaipaavien mallineiden luokasta, jonne luokitellaan {{Korjattava/malline}} avulla. Kun malline korjataan, on hyvä tarkastaa myös:

  1. 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
  2. Taulukkorivien ehdollistaminen
    • Kaikki hiddenstructure-luokan avulla tehdyt ehdollistukset tulisi muuntaa toimintavarmempaan tapaan
  3. Parametrit ja sisältö

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

muokkaa

Katso uudelleenohjaukset.

Tuplamallineet

muokkaa

Katso tuplamallineet.