Þessi síða var afrituð frá ensku Wikiheimild. Reynt hefur verið að aðlaga hana að íslensku Wikiheimildum með sem fæstum mögulegum breytingum. Það er gert til að forðast fjölverknað og spara tíma en einnig svo hægt sé að taka við uppfærslum og nýjum eiginleikum með sem minnstri fyrirhöfn. Leiðbeiningar um notkun hennar má finna á enska verkefninu. Einungis það sem lesandinn sér skal íslenskað. Ef frekari breytingar eru nauðsynlegar til að aðlaga hana að íslenska verkefninu skulu þær útskýrðar hér fyrir neðan.


--[[
rawimage
 
Main entry point for Lua function to replace {{raw image}}
 
Usage:
    To invoke the module directly, use
        {{ #Invoke:RawImage | rawimage | pagename }}
    But generally it is preferable to go through the template:
        {{ raw image | pagename }}
     
    'pagename' should be the name of a page in Page: namespace, with or without the "Page:" in front.
    
    
NOTE FOR EDITORS: rawimage displays images centred in the user's standard thumb size.
It is not recommended to offer further display options, as this would disincentivise
the replacement of raw images.
]]

RawImage = {};

function RawImage.rawimage(frame)
    inpage = mw.title.getCurrentTitle():inNamespace("Blaðsíða")

    pagename = frame.args["pagename"]
    
    -- check if the pagename hasn't been passed
    if pagename == nil then
        return '<span style="color:red;">\'\'\'Villa: kalla með {{raw image|' .. mw.title.getCurrentTitle().text .. '}}\'\'\'</span>'
    end

    if pagename == '' then
        return '<span style="color:red;">\'\'\'Villa: kalla með {{raw image|' .. mw.title.getCurrentTitle().text .. '}}\'\'\'</span>'
    end

    -- check if the pagename has been given with "Page:" in front. If so, strip it
    if pagename:sub(1,5) == 'Blaðsíða:' then
        pagename = pagename:sub(6)
    end

    -- find the last / in the pagename
    slash = string.reverse(pagename):find('/')
    if slash ~= nil then
        slash = #pagename - slash + 1
    end
    
    if slash == nil then
        -- there is no slash, this page corresponds to a single-page image
        if inpage then
            category = 'Síður með hráum myndum'
        else
            category = 'Textar með hráum myndum'
        end
        return '[[File:' .. pagename .. '|frameless|center|360px]][[Flokkur:' .. category .. ']]'
    else
        -- this page title contains a slash, so compose the name of the hi-res file.
        pagebase = pagename:sub(0,slash-1)
        pagenum = pagename:sub(slash+1)
        hiRes = 'File:' .. pagebase .. '-' .. pagenum .. '.png'
        
        -- check if the hi-ref version exists
        if mw.title.new(hiRes).exists then
            -- hi-res version exists, let's link to it
            if inpage then
                category = 'Síður með hráum myndum (hágæða skönnun fáanleg)'
            else
                category = 'Textar með hráum myndum'
            end
            
            return frame:expandTemplate{title='block center',args={'[[' .. hiRes .. '|frameless|center|360px]]' .. frame:expandTemplate{title='right', args={frame:expandTemplate{title='x-smaller block', args={'([[:' .. hiRes .. '|Bæta þessa mynd]])'}}}}}} .. '[[Flokkur:' .. category .. ']]'
        else
            -- hi-res version doesn't exists, let's link to source page
            if inpage then
                category = 'Síður með hráum myndum'
            else
                category = 'Textar með hráum myndum'
            end

            return frame:expandTemplate{title='block center',args={'[[Mynd:' .. pagebase .. '|page=' .. pagenum .. '|frameless|center|360px]]' .. frame:expandTemplate{title='right', args={frame:expandTemplate{title='x-smaller block', args={'(Upload an image to replace this placeholder.)'}}}}}} .. '[[Flokkur:' .. category .. ']]'
        end
    end
end

return RawImage