Redigerer
Modul:FormatertVitenskapsnavn/sandkasse
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
local p = {} function p.getScientificName(frame) local p225value = '' -- P225: vitenskapelig navn local p6507value = '' -- P6507: autorstreng local p105value = '' -- P105: taksonomisk rang local error = false local italicName = 0 local italicNames = { [1] = {['qid'] = 'Q34740', ['label'] = 'slekt', ['abbr'] = nil}, [2] = {['qid'] = 'Q3238261', ['label'] = 'underslekt', ['abbr'] = ' subg. '}, [3] = {['qid'] = 'Q3181348', ['label'] = 'seksjon', ['abbr'] = ' sect. '}, [4] = {['qid'] = 'Q3025161', ['label'] = 'serie', ['abbr'] = ' ser. '}, [5] = {['qid'] = 'Q7432', ['label'] = 'art', ['abbr'] = nil}, [6] = {['qid'] = 'Q68947', ['label'] = 'underart', ['abbr'] = ' subsp. '}, [7] = {['qid'] = 'Q767728', ['label'] = 'varietet', ['abbr'] = ' var. '}, [8] = {['qid'] = 'Q279749', ['label'] = 'form', ['abbr'] = ' f. '}, } --[[ qid is only needed while testing, remove when done ]] local qid = frame.args['qid'] if not qid then mw.log('no qidding') return "" end if not mw.wikibase then mw.log('no wikibase') return "" end local subject = mw.wikibase.getEntity(qid) if not subject then mw.log('no subject') return "" end local p225 = subject:getBestStatements( 'P225' ) local p6507 = subject:getBestStatements( 'P6507' ) local p105 = subject:getBestStatements( 'P105' ) if not p225 or #p225 < 1 then mw.log('registrer P225 (vitenskapelig navn)') error = true else p225value = p225[1].mainsnak.datavalue.value mw.log(p225value) end if not p6507 or #p6507 < 1 then mw.log('registrer P6507 (autorstreng)') error = true else p6507value = p6507[1].mainsnak.datavalue.value mw.log(p6507value) end if not p105 or #p105 < 1 then mw.log('registrer P105 (taksonomisk rang)') error = true else p105value = p105[1].mainsnak.datavalue.value.id mw.log(p105value) for k, v in ipairs(italicNames) do if v['qid'] == p105value then italicName = k break end end end if not error then if italicName > 0 then if italicNames[italicName]['abbr'] then local oldStr = italicNames[italicName]['abbr'] local newStr = "''" .. oldStr .. "''" p225value = mw.ustring.gsub(p225value, oldStr, newStr, 1) end end return "''" .. p225value .. "''<br/><small>" .. p6507value .. "</small>" else mw.log('Feil: registrer nødvendige utsagn på Wikidata …') return '' end end --[=[ function p.formatervitnavn(frame) if not mw.wikibase then return "" end qid = frame.args['qid'] local artikkel = mw.wikibase.getEntity() if qid then artikkel = mw.wikibase.getEntity(qid) mw.log(artikkel) end if not artikkel then return "[[Kategori:Artikler som ikke er koblet til Wikidata]]" end local claims = artikkel:getProperties() if not claims or #claims == 0 then return "[[Kategori:Artikler som mangler utsagn på Wikidata]]" end local p225 = artikkel.claims.P225 if not p225 then return "[[Kategori:Artikler som mangler utsagn om vitenskapelig navn på Wikidata]]" end local vitenskapsnavn = p225[1].mainsnak.datavalue["value"] local p6507 = artikkel.claims.P6507 if not p6507 then return "[[Kategori:Artikler som mangler utsagn om autorstreng på Wikidata]]" end local autorstreng = p6507[1].mainsnak.datavalue["value"] local p105 = artikkel.claims.P105 if not p105 then return vitenskapsnavn .. "[[Kategori:Artikler som mangler utsagn om taksonomisk kategori på Wikidata]]" end local p105DataValue = p105[1].mainsnak.datavalue if not p105DataValue then return vitenskapsnavn .. "[[Kategori:Artikler som mangler utsagn om taksonomisk kategori på Wikidata]]" end local taksonkategori = p105DataValue.value["numeric-id"] -- art: Q7432 -- slekt: Q34740 -- underart: Q68947 if taksonkategori == 7432 or taksonkategori == 34740 or taksonkategori == 68947 then return "''" .. vitenskapsnavn .. "'' " .. autorstreng else return vitenskapsnavn .. ' ' .. autorstreng end end ]=] return p
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Forhåndsvis en side som bruker denne malen
Mal som brukes på denne siden:
Modul:FormatertVitenskapsnavn/sandkasse/dok
(
rediger
)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Modul
Diskusjon
English
Visninger
Les
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon