Wikipedia:Underprosjekter/Opprydding av tomme malparametre

Opprydding av tomme malparametre beskriver hvordan en går frem under opprydding a de lange tomme remsene av malparametre.

Det første en bør gjøre er å finne ut om den aktuelle malen er berørt. En måte å sjekke dette er å gjøre et søk på parameternavnet, men husk at det ikke er gitt at alle maler som gjenbruker en bestemt mal vil bruke det samme parameternavnet. En måte å finne slike forekomster er å gjøre et søk ala insource:/\(søk) Dette søket er litt merkelig, og ikke helt som en skulle forvente utfra ordinære regler for en w:regex. Noe bakgrunn finnes på Elastix: Regex Query: Regular expression syntax.

Dernest må en finne ut hvilken andre maler som gjenbruker (transkluderer) den aktuelle malen. Den enkleste måten å finne dem er å åpne Spesial:Lenker hit, fylle inn den aktuelle malen, filtrere på malrommet, slå av lenker og omdirigeringer. Du står da igjen med transkluderinger i malrommet. Hvis du gjør dette for {{Infoboks biografi}} så får du dette.

Ofte kan det være en fordel å starte endringene med malen som er lengst nede (eller ute) i hierarkiet, det vil si en mal som aldri blir transkludert inn i nye maler. For eksempel er {{Infoboks pave}} en slik mal, mens {{Infoboks monark}} har omdirigeringer selv om den er nederst i hierarkiet.

Deretter må en sjekke hvilken av disse malene som har den aktuelle malparameteren, og endre denne slik att den bruker parameterkallet med pipe-formen. Typisk ønsker vi å skifte fra en betinget test av noe slag, og vi ønsker å bruke en egenskap som standardverdi. Når du går inn i malene så kan navnet være noe helt annet, fordi malene har endret navn fordi de er transkludert inn i nye maler. Det gjør at også malparametre skifter navn, og det kan gjøre det litt vanskelig å spore dem.

Formen vi ønsker å bruke er noe ala

| dsted = {{{dsted|{{#statements:P20}}}}}

eller en av de mer spesialiserte Lua-modulene. Egenskapen dødssted (P20) er det som brukes for å angi dødssted inne på Wikidata. Vanligvis vil en ønske å bruke property eller statements hvis en ikke ønsker å prosessere utsagnene på et eller annet spesielt vis. Forskjellen er i grove trekk at property er litt mer lavnivå enn statements. På Wikipedia:Property vs statements er flere av forskjellene mellom dem beskrevet.

Hvis malen som endres er helt ute (eller nederst) i hierarkiet, så vil det ikke være andre maler som må endres, men hvis en skal endre på {{Infoboks biografi}} så er det gjerne mange mellomliggende maler som må oppdateres. Hvis en vil oppdatere {{Infoboks helgen}} så kan denne endringen gjøres i malen, og gitt at bioboksen alt er oppdatert (slik som her), så er det ingen mellomliggende maler som må endres.

Til sist kan feltene i artikler som bruker denne malparameteren, og som er tomme, fjernes. Dette gjøres enklest med mw:pywikipediabot eller AWB. En kjøring med pywikipediabot kan for eksempel se ut som det her

$ python pwb.py replace -ns:0 -lang:no -family:wikipedia -summary:"Fjerner tomme 'dsted'" -transcludes:"Infoboks helgen" -regex "\|\s*dsted\s*=\s*\|" "|"

Regexen som brukes i dette tilfellet er litt optimistisk. Hvis det er to eller flere maler med samme parameter, og alle er tomme, så vil alle bli erstattet. Det er ikke mange steder hvor det er to infobokser, og enda færre steder hvor de har tomme parametre, så problemet er kanskje ikke så stort.

Et eksempel på en oppføring hvor en tom parameter er fjernet er denne redigeringen i Apostelen Tomas.

Opprydding rediger

Mal:Infoboks kirke rediger

  • Endringer i infoboks (diff)
  • Botrun python3 pwb.py replace -family:wikipedia -lang:no -ns:0 -search:"hastemplate:\"Infoboks kirke\"" -summary:"Fjerner tom parameter" -recursive -allowoverlap -regex "(?<=\|)\s*(?:eier|område|plassering|bispedømme|byggeår|periode|arkitekturstil|arkitekt)\s*=\s*\|" ""

Mal:Infoboks biografi rediger

  • Botrun python3 pwb.py replace -family:wikipedia -lang:no -ns:0 -search:"hastemplate:\"Infoboks biografi\"" -summary:"Fjerner tom parameter" -recursive -allowoverlap -regex "(?<=\|)\s*(?:fødselsnavn|fnavn|fødenavn|fødselsnavn|født|alder|fsted|fødested|fødselssted|fland|fødeland|død|dsted|dødssted|dødsted|dland|dødland|dødsland|dødsårsak|gravlagt)\s*=\s*\|" ""