Modul:Våpenskjold
Utseende
Modul:Våpenskjold med undersider brukes av {{Våpenskjold}} for fremvisning av områders våpenskjold.
Modulserien består av følgende sider:
Oppdatering
[rediger kilde]For å legge til nye data, gjør du følgende:
- Gå til undersiden for data, det vil si
Modul:Våpenskjold/Data/...
, der første bokstav i området som skal legges til avgjør hvilken underside som skal benyttes. Begynner området på A, B eller C, skal undersiden være/a-c
, begynner det på D, E eller F, skal undersiden være/d-f
, osv... - Når du har funnet riktig underside, legger du inn data på følgende format:
["OMRÅDE"] = {
name = "OMRÅDE",
coat_of_arms = "FILNAVN",
dispname = "VISNINGSNAVN",
border = "RAMME",
},
- A)
OMRÅDE
erstattes med områdets navn. Det kan være en fordel atOMRÅDE
har likt navn som sideplasseringen her på no:wp - B)
FILNAVN
erstattes med hele filnavnet, inkl filtype.Fil:
i begynnelsen tas ikke med. - C)
VISNINGSNAVN
brukes dersom området inneholder parenteser, feks. for Bø (Telemark) settes visningsnavn tilBø
. Hvis det ikke er forskjell mellom sidens plassering her på no:wp og ønsket visningsnavn, kan hele linjendispname
fjernes. - D)
RAMME
erstattes med ønsket ramme, feks.border
,middle
etc. Standard erframeless
, så hvis ingen ramme ønskes, kan hele linjen utgå. - Viktig: Det er viktig å ha med alle kommaer, klammeparenteser etc, slik det er vist i eksempelet.
local p = {}
local lang = mw.getContentLanguage()
function p.coat_of_arms( frame )
--
-- sjekker om området er angitt vha en ISO 3166-1 alfa-2 eller alfa-3-kode
-- hvis det er det, og ISO-koden er registrert, finner den automatisk det fulle navnet
local ISO = require("Modul:Land")
local ISOname = ISO.ISO(frame)
if ISOname == nil or ISOname == "" then
ISOname = ""
else
frame.args[1] = ISOname
end
-- sjekker om området er angitt vha en alternativ skrivemåte
-- hvis det er det, og den alternative skrivemåten er registrert, finner den automatisk riktig navn
local ALT = require("Modul:Våpenskjold/Altnavn")
local ALTname = ALT[frame.args[1]]
if ALTname == nil or ALTname == "" then
ALTname = ""
else
frame.args[1] = ALT[frame.args[1]]
end
-- Henter ut nødvendige data fra undersider basert på første bokstav i områdets fulle navn
local datap = require("Modul:Våpenskjold/Data")
local datapage = datap.areaname(frame)
-- velger størrelsen på våpenskjoldet
local size;
if frame.args[6] ~= "" then
size = frame.args[6]
elseif frame.args[6] == nil or frame.args[6] == "" then
size = "20px"
end
-- hvis det ikke er angitt våpenskjold for ønsket område, vises et grått våpenskjold
DataPage = datapage.coat_of_armsdata[frame.args[1]]
if DataPage == nil or DataPage == "" then
return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>"
end
if DataPage.coat_of_arms == nil or DataPage.coat_of_arms == "" then
if DataPage.weapon == nil or DataPage.weapon == "" then
return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>"
end
end
-- Henter ut nødvendige parametere fra datasiden
Coat_Of_Arms = DataPage.coat_of_arms
HistYear1 = DataPage.histyear1
HistCoat_Of_Arms1 = DataPage.histcoat_of_arms1
HistYear2 = DataPage.histyear2
HistCoat_Of_Arms2 = DataPage.histcoat_of_arms2
HistYear3 = DataPage.histyear3
HistCoat_Of_Arms3 = DataPage.histcoat_of_arms3
HistYear4 = DataPage.histyear4
HistCoat_Of_Arms4 = DataPage.histcoat_of_arms4
HistYear5 = DataPage.histyear5
HistCoat_Of_Arms5 = DataPage.histcoat_of_arms5
-- Henter ut de nødvendige data fra datasiden, basert på angitt parameter
local Coat_Of_ArmsName;
Coat_Of_ArmsVar = frame.args[2]
if frame.args[1] ~= "" then
if Coat_Of_ArmsVar == nil or Coat_Of_ArmsVar == "" or Coat_Of_ArmsVar == "lenke" then
Coat_Of_ArmsName = Coat_Of_Arms
elseif HistYear1 then
if tonumber(Coat_Of_ArmsVar) <= HistYear1 then
Coat_Of_ArmsName = HistCoat_Of_Arms1
elseif HistYear2 then
if tonumber(Coat_Of_ArmsVar) <= HistYear2 then
Coat_Of_ArmsName = HistCoat_Of_Arms2
elseif HistYear3 then
if tonumber(Coat_Of_ArmsVar) <= HistYear3 then
Coat_Of_ArmsName = HistCoat_Of_Arms3
elseif HistYear4 then
if tonumber(Coat_Of_ArmsVar) <= HistYear4 then
Coat_Of_ArmsName = HistCoat_Of_Arms4
elseif HistYear5 then
if tonumber(Coat_Of_ArmsVar) <= HistYear5 then
Coat_Of_ArmsName = HistCoat_Of_Arms5
end
end
end
end
end
end
else
return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>"
end
-- Hvis det ikke er angitt noen form for våpenskjoldvariant, vises standard våpenskjold
if Coat_Of_ArmsName == nil then
Coat_Of_ArmsName = Coat_Of_Arms
else
Coat_Of_ArmsName = Coat_Of_ArmsName
end
if Coat_Of_ArmsName == nil then
return "[[Fil:Coats of arms of None.svg |" .. size .. "|lenke=" .. frame.args[1] .. "]]<sup>[[Modul:Våpenskjold/Data/nye|[?]]][[Kategori:Sider som inneholder uregistrerte våpenskjold]]</sup>"
end
-- avgjør hvilken side som våpenskjoldet, og evt. synlig lenke, skal lenke til
local LinkedPage = DataPage.pagelink
local Name = DataPage.name
if LinkedPage == nil then
LinkedPage = Name
else
LinkedPage = LinkedPage
end
local PageLink;
if frame.args[4] == "" or frame.args[4] == nil then
PageLink = LinkedPage
elseif frame.args[4] ~= "" or frame.args[4] ~= nil then
PageLink = frame.args[4]
else
PageLink = Name
end
-- hva skal vises?
local DisplayName = DataPage.dispname
if DisplayName == nil then
DisplayName = Name
else
DisplayName = DisplayName
end
-- Hvilken lenketekst skal vises?
local DispName;
if frame.args[5] == "" or frame.args[5] == nil then
DispName = DisplayName
elseif frame.args[5] ~= "" or frame.args[5] ~= nil then
DispName = frame.args[5]
else
DispName = Name
end
-- Avgjør om det skal vises lenke
local LinkOut;
if frame.args[2] ~= "lenke" and frame.args[3] ~= "lenke" and frame.args[4] == "" and frame.args[5] == "" then
LinkOut = ""
else
LinkOut = " [[" .. PageLink .. "|" .. DispName .. "]]"
end
local LinkRes;
if frame.args[7] ~= "" then
LinkRes = ' ' .. frame.args[7]
elseif frame.args[7] == "" then
if LinkOut ~= nil then
LinkRes = LinkOut
elseif LinkOut == nil or LinkOut == "" then
LinkRes = ""
end
end
-- border?
local border = DataPage.border
if border == nil or border == "" then
border = "frameless"
else
border = DataPage.border
end
result = "[[Fil:" .. Coat_Of_ArmsName .. "|" .. size .. "|" .. border .. "|lenke=" .. PageLink .. "]]" .. LinkRes
return result
end
return p