Lompat ke isi

Modul:Warna hash

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

-- http://lua-users.org/wiki/StringTrim
local function trim( s )
    return s:match( '^()%s*$' ) and '' or s:match( '^%s*(.*%S)' )
end

local p = {}

function p.couleur( value, echappe )
    if echappe == nil then
        echappe = false
    end
    if value:sub( 1, 1 ) == '#' then
        if echappe then
            return '#' .. value:sub( 2 )
        else
            return value
        end
    elseif ( #value == 6 or #value == 3 or #value == 8 or #value == 4 ) and value:match( '^%x+$' ) then
        if echappe then
            return '#' .. value
        else
            return '#' .. value
        end
    else
        -- warna HTML
        return value
    end
end

function p.main( frame )
    local value = trim( frame.args[ 1 ] )
    if value == '' then
        value = trim( frame.args[ 2 ] )
    end
    -- parameter "echappe" akan ditandai true,
    -- lihat [[phab:T14974]]
    return p.couleur( value, true )
end

return p