<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nb">
	<id>https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=Modul%3AWikidataBilde</id>
	<title>Modul:WikidataBilde - Sideversjonshistorikk</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikisida.no/index.php?action=history&amp;feed=atom&amp;title=Modul%3AWikidataBilde"/>
	<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=Modul:WikidataBilde&amp;action=history"/>
	<updated>2026-04-17T08:59:17Z</updated>
	<subtitle>Versjonshistorikk for denne siden på wikien</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.wikisida.no/index.php?title=Modul:WikidataBilde&amp;diff=89&amp;oldid=prev</id>
		<title>nb&gt;Haros: legger inn i bildeOgTekst en muiighet for kommaseparert liste av pid (egenskaps identiteter). Vil velge første i listen med bilde på wikidata når lokalt bilde mangler.</title>
		<link rel="alternate" type="text/html" href="https://www.wikisida.no/index.php?title=Modul:WikidataBilde&amp;diff=89&amp;oldid=prev"/>
		<updated>2025-12-14T20:02:16Z</updated>

		<summary type="html">&lt;p&gt;legger inn i bildeOgTekst en muiighet for kommaseparert liste av pid (egenskaps identiteter). Vil velge første i listen med bilde på wikidata når lokalt bilde mangler.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function dump( out )&lt;br /&gt;
    if type( out ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
        local s = &amp;#039;{ &amp;#039;&lt;br /&gt;
        for k,v in pairs( out ) do&lt;br /&gt;
                if type( k ) ~= &amp;#039;number&amp;#039; then k = &amp;#039;&amp;quot;&amp;#039;..k..&amp;#039;&amp;quot;&amp;#039; end&lt;br /&gt;
                s = s .. &amp;#039;[&amp;#039;..k..&amp;#039;] = &amp;#039; .. dump( v ) .. &amp;#039;,&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
        return s .. &amp;#039;} &amp;#039;&lt;br /&gt;
    else&lt;br /&gt;
        return tostring( out )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local kategori = {[5] = &amp;quot;biografi&amp;quot; }&lt;br /&gt;
local resten = &amp;quot;[[Kategori:Artikler hvor bilde er hentet fra Wikidata]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
function getProp(qid,pid)&lt;br /&gt;
	local entity = mw.wikibase.getEntity(qid)&lt;br /&gt;
&lt;br /&gt;
	if not entity then&lt;br /&gt;
&lt;br /&gt;
		return {}&lt;br /&gt;
&lt;br /&gt;
	end&lt;br /&gt;
	return entity:getBestStatements(pid)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function finnKategori(frame)&lt;br /&gt;
   if not mw.wikibase then&lt;br /&gt;
        return resten&lt;br /&gt;
    end&lt;br /&gt;
    local artikkel = mw.wikibase.getEntityObject()&lt;br /&gt;
    if not artikkel then&lt;br /&gt;
        return resten&lt;br /&gt;
    end&lt;br /&gt;
    local claims = artikkel:getBestStatements( &amp;#039;P31&amp;#039; )&lt;br /&gt;
    if not claims then&lt;br /&gt;
        return resten&lt;br /&gt;
    end&lt;br /&gt;
    for _,v in ipairs( claims ) do&lt;br /&gt;
    	if v.type == &amp;#039;statement&amp;#039; then&lt;br /&gt;
    		local snak = v.mainsnak&lt;br /&gt;
    		if snak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
    			if snak.datatype == &amp;#039;wikibase-item&amp;#039; then&lt;br /&gt;
    				local data = snak.datavalue&lt;br /&gt;
    				if data.type == &amp;#039;wikibase-entityid&amp;#039; then&lt;br /&gt;
    					local value = data.value&lt;br /&gt;
    					if value[&amp;quot;entity-type&amp;quot;] == &amp;quot;item&amp;quot; then&lt;br /&gt;
    						if kategori[value[&amp;quot;numeric-id&amp;quot;]] then&lt;br /&gt;
    							return &amp;quot;[[Kategori:Artikler hvor bilde er hentet fra Wikidata – &amp;quot; .. kategori[value[&amp;quot;numeric-id&amp;quot;]] .. &amp;quot;]]&amp;quot;&lt;br /&gt;
    						end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    -- failed to find correct type&lt;br /&gt;
	return resten&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Return bilde til artikkelen&lt;br /&gt;
function p.wikidatabilde(frame)&lt;br /&gt;
    if not mw.wikibase then&lt;br /&gt;
        return &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    local pid = frame.args[&amp;quot;pid&amp;quot;] or nil&lt;br /&gt;
	if not pid then pid = &amp;quot;P18&amp;quot; end&lt;br /&gt;
    local artikkel = mw.wikibase.getEntityObject()&lt;br /&gt;
    if not artikkel then&lt;br /&gt;
        return &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    local claims = artikkel:getBestStatements( pid )&lt;br /&gt;
    if not claims then&lt;br /&gt;
        return &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    for _,v in ipairs( claims ) do&lt;br /&gt;
    	if v.type == &amp;#039;statement&amp;#039; then&lt;br /&gt;
    		local snak = v.mainsnak&lt;br /&gt;
    		if snak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
    			if snak.datatype == &amp;#039;commonsMedia&amp;#039; then&lt;br /&gt;
    				local data = snak.datavalue&lt;br /&gt;
    				if data.type == &amp;#039;string&amp;#039; then&lt;br /&gt;
    					return data.value&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
    -- failed to find correct type&lt;br /&gt;
    return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.framebilde(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    if args[1] == nil then&lt;br /&gt;
        local pFrame = frame:getParent();&lt;br /&gt;
        args = pFrame.args;&lt;br /&gt;
        for k,v in pairs( frame.args ) do&lt;br /&gt;
            args[k] = v;&lt;br /&gt;
        end&lt;br /&gt;
     end&lt;br /&gt;
     if args[&amp;#039;bilde&amp;#039;] then&lt;br /&gt;
        return args[&amp;#039;bilde&amp;#039;]&lt;br /&gt;
     end&lt;br /&gt;
     return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.framekart(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    if args[1] == nil then&lt;br /&gt;
        local pFrame = frame:getParent();&lt;br /&gt;
        args = pFrame.args;&lt;br /&gt;
        for k,v in pairs( frame.args ) do&lt;br /&gt;
            args[k] = v;&lt;br /&gt;
        end&lt;br /&gt;
     end&lt;br /&gt;
     if args[&amp;#039;kart&amp;#039;] then&lt;br /&gt;
        return args[&amp;#039;kart&amp;#039;]&lt;br /&gt;
     end&lt;br /&gt;
     return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.velgbilde(frame)&lt;br /&gt;
    local bilde = p.framebilde(frame)&lt;br /&gt;
    if bilde and bilde ~= &amp;quot;&amp;quot; and bilde ~= &amp;quot;uten&amp;quot; then&lt;br /&gt;
        return bilde&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- First: P18 (image)&lt;br /&gt;
    local frawikidata = p.bilde(nil, &amp;quot;P18&amp;quot;)&lt;br /&gt;
    if frawikidata ~= &amp;quot;&amp;quot; then&lt;br /&gt;
        return frawikidata&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Second: P3383 (film poster)&lt;br /&gt;
    frawikidata = p.bilde(nil, &amp;quot;P3383&amp;quot;)&lt;br /&gt;
    if frawikidata ~= &amp;quot;&amp;quot; then&lt;br /&gt;
        return frawikidata&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Third: P154 (logo)&lt;br /&gt;
    frawikidata = p.bilde(nil, &amp;quot;P154&amp;quot;)&lt;br /&gt;
    if frawikidata ~= &amp;quot;&amp;quot; then&lt;br /&gt;
        return frawikidata&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.bildetekst(frame)&lt;br /&gt;
    &lt;br /&gt;
    if not mw.wikibase then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    local artikkel = mw.wikibase.getEntityObject()&lt;br /&gt;
    if not artikkel then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    local claims = artikkel:getBestStatements( &amp;#039;P18&amp;#039; )&lt;br /&gt;
    if not claims then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    for _,v in ipairs( claims ) do&lt;br /&gt;
    	if v.type == &amp;#039;statement&amp;#039; then&lt;br /&gt;
    		local snak = v.mainsnak&lt;br /&gt;
    		if snak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
    			if snak.datatype == &amp;#039;commonsMedia&amp;#039; then&lt;br /&gt;
    				local data = snak.datavalue&lt;br /&gt;
    				if data.type == &amp;#039;string&amp;#039; then&lt;br /&gt;
						local q	= v.qualifiers&lt;br /&gt;
						if q then&lt;br /&gt;
							wdcaptions = q[&amp;#039;P2096&amp;#039;]&lt;br /&gt;
						end&lt;br /&gt;
						if wdcaptions then&lt;br /&gt;
							for k, l in pairs(wdcaptions) do&lt;br /&gt;
								if l.datavalue.value and l.datavalue.value.text and l.datavalue.value.language == &amp;#039;nb&amp;#039; then&lt;br /&gt;
									return l.datavalue.value.text&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
    -- failed to find correct type&lt;br /&gt;
    return &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
function p.byline(frame)&lt;br /&gt;
    &lt;br /&gt;
    if not mw.wikibase then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    local artikkel = mw.wikibase.getEntityObject()&lt;br /&gt;
    if not artikkel then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    local claims = artikkel:getBestStatements( &amp;#039;P18&amp;#039; )&lt;br /&gt;
    if not claims then&lt;br /&gt;
        return &amp;#039;&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    for _,v in ipairs( claims ) do&lt;br /&gt;
    	if v.type == &amp;#039;statement&amp;#039; then&lt;br /&gt;
    		local snak = v.mainsnak&lt;br /&gt;
    		if snak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
    			if snak.datatype == &amp;#039;commonsMedia&amp;#039; then&lt;br /&gt;
    				local data = snak.datavalue&lt;br /&gt;
    				if data.type == &amp;#039;string&amp;#039; then&lt;br /&gt;
						local q	= v.qualifiers&lt;br /&gt;
						if q then&lt;br /&gt;
							wdcaptions = q[&amp;#039;P2093&amp;#039;]&lt;br /&gt;
						end&lt;br /&gt;
						if wdcaptions then&lt;br /&gt;
							for k, l in pairs(wdcaptions) do&lt;br /&gt;
								if l.datavalue.value and l.datavalue.value.text then&lt;br /&gt;
									return l.datavalue.value.text&lt;br /&gt;
								end&lt;br /&gt;
							end&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
    -- failed to find correct type&lt;br /&gt;
    return &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.finnesbildeiartikkel(frame)&lt;br /&gt;
	local innhold = mw.title.getCurrentTitle():getContent() or &amp;#039;&amp;#039;&lt;br /&gt;
	local frawikidata = p.wikidatabilde(frame):gsub(&amp;quot;[%-%+%*%?%^%%%(%)]&amp;quot;, &amp;quot;%%%0&amp;quot;) -- Erstatter visse spesialtegn (spesialtegn for Lua) med escapede versjoner av samme spesialtegn&lt;br /&gt;
	frawikidata = frawikidata:gsub(&amp;quot;[_ ]&amp;quot;, &amp;quot;[_ ]&amp;quot;) -- Erstatter understrek eller mellomrom med mønsteret [_ ], så søket nedenfor finner begge varianter&lt;br /&gt;
	if innhold:find(&amp;quot;:&amp;quot; .. frawikidata) then&lt;br /&gt;
		return &amp;quot;[[Kategori:Artikler hvor bilde fra Wikidata også brukes utenfor infoboks]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.sammenlignbilde(frame)&lt;br /&gt;
    local fraframe = p.framebilde(frame)&lt;br /&gt;
    local frawikidata = p.wikidatabilde(frame)&lt;br /&gt;
    if fraframe == frawikidata then&lt;br /&gt;
        if fraframe == &amp;quot;&amp;quot; then&lt;br /&gt;
            return &amp;quot;&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            return &amp;quot;[[Kategori:Artikler hvor bilde er samme som på Wikidata]]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        if frawikidata == &amp;quot;&amp;quot; then&lt;br /&gt;
            return &amp;quot;[[Kategori:Artikler hvor bilde mangler på Wikidata]]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if fraframe == &amp;quot;&amp;quot; then&lt;br /&gt;
            return &amp;quot;[[Kategori:Artikler uten bilde i infoboks med bilde på Wikidata]]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        return &amp;quot;[[Kategori:Artikler med bilde forskjellig fra Wikidata]]&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sammenlignMedWikidataValgtBilde(frame)&lt;br /&gt;
    local fraframe = p.framebilde(frame)&lt;br /&gt;
    local frawikidata = p.wikidatabilde(frame)&lt;br /&gt;
    local framekart = p.framekart(frame)&lt;br /&gt;
    local finnesbildeiartikkel = p.finnesbildeiartikkel(frame)&lt;br /&gt;
    if fraframe == frawikidata then&lt;br /&gt;
        if fraframe == &amp;quot;&amp;quot; then&lt;br /&gt;
            return &amp;quot;&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
    else &lt;br /&gt;
        if frawikidata == &amp;quot;&amp;quot; then&lt;br /&gt;
            return &amp;quot;[[Kategori:Artikler hvor bilde mangler på Wikidata]]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    	if framekart == frawikidata then&lt;br /&gt;
    		return &amp;quot;[[Kategori:Artikler hvor kart er samme som bilde på Wikidata]]&amp;quot;&lt;br /&gt;
    	end&lt;br /&gt;
        if fraframe == &amp;quot;&amp;quot; then&lt;br /&gt;
            return finnKategori(frame) .. finnesbildeiartikkel&lt;br /&gt;
        end&lt;br /&gt;
        return &amp;quot;[[Kategori:Artikler med bilde forskjellig fra Wikidata]]&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function bilde(snak)&lt;br /&gt;
	assert ( snak )&lt;br /&gt;
	&lt;br /&gt;
	local item = nil&lt;br /&gt;
&lt;br /&gt;
	if snak.snaktype == &amp;quot;value&amp;quot; and snak.datatype == &amp;quot;commonsMedia&amp;quot; then&lt;br /&gt;
&lt;br /&gt;
		value = snak.datavalue.value or nil&lt;br /&gt;
	end&lt;br /&gt;
	return value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- returnerer en rad for overskrift og en avsluttning hvis det er nødvendig&lt;br /&gt;
function formatOverskrift (overskrift,kollaps)&lt;br /&gt;
	local oversk = &amp;quot;&amp;quot;&lt;br /&gt;
	local avslutt = &amp;quot;&amp;quot;&lt;br /&gt;
	if overskrift and overskrift ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		oversk = string.format([[&lt;br /&gt;
		&amp;lt;tr class=&amp;quot;overskrift&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
		]], overskrift)&lt;br /&gt;
	end&lt;br /&gt;
	if kollaps and kollaps ~= &amp;quot;&amp;quot; then&lt;br /&gt;
	end&lt;br /&gt;
	return oversk,avslutt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function formatBilderad(value)&lt;br /&gt;
	return string.format([[&lt;br /&gt;
		&amp;lt;tr class=&amp;quot;bilde&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;td colspan=&amp;quot;4&amp;quot; class=&amp;quot;sentrert&amp;quot;&amp;gt;%s&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
		]], value)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.bilde(qid,pid)&lt;br /&gt;
	local prop = getProp(qid,pid)&lt;br /&gt;
	if not prop or not prop[1] or not prop[1].mainsnak then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return bilde(prop[1].mainsnak)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- språkkoder som vi viser hvis norsk bokmål ikke finnes&lt;br /&gt;
local altlang = {&lt;br /&gt;
		[&amp;quot;nn&amp;quot;] = &amp;quot;nynorsk&amp;quot;,	&lt;br /&gt;
		[&amp;quot;no&amp;quot;] = &amp;quot;&amp;quot;,	&lt;br /&gt;
		[&amp;quot;da&amp;quot;] = &amp;quot;dansk&amp;quot;,	&lt;br /&gt;
		[&amp;quot;sv&amp;quot;] = &amp;quot;svensk&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
function bildetekst(qualifier)&lt;br /&gt;
	local P2096 = nil&lt;br /&gt;
	if qualifier then&lt;br /&gt;
		P2096 = qualifier[&amp;#039;P2096&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	if P2096 then&lt;br /&gt;
		for k, l in pairs(P2096) do&lt;br /&gt;
			if l.datavalue and l.datavalue.value and l.datavalue.value.text and l.datavalue.value.language == &amp;#039;nb&amp;#039; then&lt;br /&gt;
				return l.datavalue.value.text&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for k, l in pairs(P2096) do&lt;br /&gt;
			if l.datavalue and l.datavalue.value and l.datavalue.value.text and altlang[l.datavalue.value.language] then&lt;br /&gt;
				local langtxt = altlang[l.datavalue.value.language]&lt;br /&gt;
				if langtxt ~= &amp;quot;&amp;quot; then&lt;br /&gt;
					langtxt =  &amp;quot; (&amp;quot; .. langtxt .. &amp;quot;)&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
				return l.datavalue.value.text .. langtxt&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function byline(qualifier)&lt;br /&gt;
	local P2093 = nil&lt;br /&gt;
	if qualifier then&lt;br /&gt;
		P2093 = qualifier[&amp;#039;P2093&amp;#039;]&lt;br /&gt;
	end&lt;br /&gt;
	if P2093 then&lt;br /&gt;
		for k, l in pairs(P2093) do&lt;br /&gt;
			if l.datavalue and l.datavalue.value then&lt;br /&gt;
				return &amp;quot;Foto: &amp;quot; .. l.datavalue.value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fmtBilde(bilde,bildetekst,byline,size, alttekst, class)&lt;br /&gt;
	local tekst = &amp;quot;&amp;quot;&lt;br /&gt;
	local pix = size or &amp;quot;&amp;quot;&lt;br /&gt;
	local alt = &amp;quot;&amp;quot;&lt;br /&gt;
	local localclass = &amp;quot;&amp;quot;&lt;br /&gt;
	if alttekst and alttekst ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		alt = &amp;quot;|alt=&amp;quot; .. alttekst &lt;br /&gt;
	end&lt;br /&gt;
	if class and class ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		localclass = &amp;quot;|class=&amp;quot; .. class &lt;br /&gt;
	end&lt;br /&gt;
	if bilde then&lt;br /&gt;
		tekst = &amp;quot;[[fil:&amp;quot; .. -- mw.wikibase.formatValue(snak)&lt;br /&gt;
		   bilde .. &amp;quot;|center|&amp;quot; .. pix .. &amp;quot;|frameless&amp;quot; .. alt .. localclass .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if bildetekst or byline then&lt;br /&gt;
		tekst = tekst .. &amp;#039;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if bildetekst then&lt;br /&gt;
		tekst = tekst .. bildetekst&lt;br /&gt;
	end&lt;br /&gt;
	if byline then&lt;br /&gt;
		tekst = tekst .. mw.getCurrentFrame():extensionTag{ name = &amp;#039;templatestyles&amp;#039;, args = { src = &amp;#039;Byline/stil.css&amp;#039; } } .. &amp;#039;&amp;lt;div class=&amp;quot;byline&amp;quot;&amp;gt;&amp;#039; .. byline .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if bildetekst or byline then&lt;br /&gt;
		tekst = tekst .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
	end	&lt;br /&gt;
	tekst = formatBilderad(tekst)&lt;br /&gt;
	return tekst&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.bildeFraWikidata(qid,pid, pix, alttekst, class)&lt;br /&gt;
	local prop = getProp(qid,pid)&lt;br /&gt;
	if not prop then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if not prop[1] then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if not prop[1].mainsnak then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local bildet =  bilde(prop[1].mainsnak)&lt;br /&gt;
	local bildeteksten = bildetekst(prop[1].qualifiers)&lt;br /&gt;
	local byline = byline(prop[1].qualifiers)&lt;br /&gt;
	return fmtBilde(bildet,bildeteksten,byline, pix, alttekst, class)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p._bildeOgTekst(qid, pid, bilde, bildetekst, byline, pix, alttekst, overskrift, class)&lt;br /&gt;
	if bilde and bilde == &amp;quot;uten&amp;quot; then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	local overskriftRad,avslutning = &amp;quot;&amp;quot;,&amp;quot;&amp;quot;&lt;br /&gt;
	if overskrift and overskrift ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		overskriftRad,avslutning = formatOverskrift(overskrift)&lt;br /&gt;
	end&lt;br /&gt;
	local bilderad = &amp;quot;&amp;quot;&lt;br /&gt;
	if bilde and bilde ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		bilderad = fmtBilde(bilde,bildetekst,byline, pix, alttekst, class)&lt;br /&gt;
	else&lt;br /&gt;
		bilderad = p.bildeFraWikidata(qid, pid, pix, alttekst, class)&lt;br /&gt;
	end&lt;br /&gt;
	if bilderad ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		return overskriftRad .. bilderad .. avslutning&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.bildeOgTekst(frame)&lt;br /&gt;
	local qid = frame.args[&amp;quot;qid&amp;quot;] or nil&lt;br /&gt;
	if qid == &amp;quot;&amp;quot; then&lt;br /&gt;
		qid = nil&lt;br /&gt;
	end&lt;br /&gt;
	local bilde = frame.args[&amp;quot;bilde&amp;quot;] or nil&lt;br /&gt;
	local bildetekst = frame.args[&amp;quot;bildetekst&amp;quot;] or nil&lt;br /&gt;
	local byline = frame.args[&amp;quot;byline&amp;quot;] or nil&lt;br /&gt;
	local pix = frame.args[&amp;quot;bildestørrelse&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local overskrift = frame.args[&amp;quot;overskrift&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local alttekst = frame.args[&amp;quot;alttekst&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local class = frame.args[&amp;quot;class&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	--[[ pid kan ha en kommaseparert liste med pid-er kan fx inneholde:&lt;br /&gt;
	     P18 - bilde&lt;br /&gt;
	     P3451 - nattbilde&lt;br /&gt;
	     P5252 - vinterbilde&lt;br /&gt;
	     P5775 - interiørbilde&lt;br /&gt;
	     eller:&lt;br /&gt;
	     P154  - logo&lt;br /&gt;
	     P94   - bilde av våpenskjold&lt;br /&gt;
	     &lt;br /&gt;
	     Derfor splittes argumentet, og brukes ett av gangen&lt;br /&gt;
	--]]&lt;br /&gt;
	local propslist = frame.args[&amp;quot;pid&amp;quot;] or nil&lt;br /&gt;
	local props = mw.text.split( propslist, &amp;#039;,&amp;#039;, true )&lt;br /&gt;
	for ix,pid in ipairs( props ) do&lt;br /&gt;
		-- hvis bilde == uten vil alle kallene returnere blank tekst uten at vi trenger teste på det her&lt;br /&gt;
		local txt = p._bildeOgTekst(qid, pid, bilde, bildetekst, byline, pix, alttekst, overskrift, class)&lt;br /&gt;
		if txt and txt ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			return txt&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>nb&gt;Haros</name></author>
	</entry>
</feed>