Modul:Artikkellenke: Forskjell mellom sideversjoner
Hopp til navigering
Hopp til søk
mIngen redigeringsforklaring |
m (Én sideversjon ble importert) |
Siste sideversjon per 23. sep. 2025 kl. 08:03
Dokumentasjon for denne modulen kan opprettes på Modul:Artikkellenke/dok
local mRedirect = require('Module:Redirect') local p = {} local imageSize = "200px" -- default image size (shortest side). should be same as div. local dimensionX = "" -- leave empty, i guess local instance = "default" local language = "nb" -- local language local images = { ["default"] = "Simply Stringy Landscape.svg", -- default image if no image available ["human"] = "Simply Stringy Human.svg", ["list"] = "Simply Stringy List.svg", ["comp"] = "Simply Stringy Competition.svg", ["media"] = "Simply Stringy Media.svg", } function p.thumbnail(frame) local article = mRedirect.getTarget(frame.args["article"]) or frame.args["article"] local qid = mw.wikibase.getEntityIdForTitle(article) page = mw.wikibase.getEntity(qid) if page:getBestStatements("P18")[1] then image = page:getBestStatements("P18")[1].mainsnak.datavalue.value elseif page:getBestStatements("P41")[1] then image = page:getBestStatements("P41")[1].mainsnak.datavalue.value elseif page:getBestStatements("P154")[1] then image = page:getBestStatements("P154")[1].mainsnak.datavalue.value elseif pid(page,"P31") == "Q5" then image = images["human"] elseif pid(page,"P31") == "Q15416" or pid(page,"P31") == "Q11424" or pid(page,"P31") == "Q5398426" then image = images["media"] elseif pid(page,"P31") == "Q13406463" then image = images["list"] elseif pid(page,"P641") then image = images["comp"] else image = images["default"] end if isWider(image) then dimensionX = "x" end image = "[[Fil:" .. image .. "|" .. dimensionX .. imageSize .. "|link=" .. article .. "]]" return "<div class='artikkellenke'>[[" .. article .. "|<div class='lenkedekke'></div>]]" .. "<div><p><span class='artikkeltittel'>" .. page:getLabel() .. "</span><br />".. cleanDescription(mw.wikibase.getDescriptionByLang(qid, language)) .. "</p></div>" .. image .. "</div>" end function cleanDescription(descr) if descr == nil then descr = "" elseif string.match(descr,"Wikimedia-") then descr = "" end return descr end function p.dimensionX(frame) return isWider(frame.args["filename"]) end function pid(page, prop) if page:getBestStatements(prop)[1] ~= nil then return page:getBestStatements(prop)[1].mainsnak.datavalue.value.id else return false end end function isWider(i) file = mw.title.new(i, "File").file if file.width > file.height then return true else return false end end return p