Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch

Modul: Dokumentation

Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus


--[=[ 2017-02-13
Unterstützung für Vorlagen/Hilfeseiten Hilfe:VisualEditor/***
Maintain: Wartungsübersicht
]=]
-- rEVED modules/ve-mw/init/ve.init.mw.Target.js
-- rEVED modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
local lucky, Data = pcall( mw.loadData,
                           "Module:Hilfe:VisualEditor/config" )
if type( Data ) ~= "table" then
    error( "[[Module:Hilfe:VisualEditor/config]] fehlt" )
end



-- Export
local p = { }

p.color = function ( frame )
    local cnf = Data.config
    local r = "\n{| class='wikitable sortable'\n|-\n"
    local s = "%s\n|-\n|<code>#%s</code>||<code>%s</code>|" ..
                                         "|style='background-color:#%s'|"
    local f = function ( access )
                  r = string.format( s,
                                     r,
                                     access,
                                     cnf[ access ],
                                     cnf[ access ] )
              end -- f()
    r = r .. "! Key !! Code !! Farbe"
    for k, v in pairs( cnf ) do
        if k:match( "^b[go]" ) then
            f( k )
        end
    end -- for k, v
    r = r .. "\n|}"
    return r
end -- p.color()



p.serial = function ( frame )
    return Data.serial
end -- p.serial()



p.tree2table = function ( frame )
    local r   = "\n{| class='wikitable sortable'\n|-\n! "
    local sti = "font-size:smaller;"
    local stm = "font-family:monospace;font-size:90%;white-space:nowrap;"
    local o, s, say, srv
    r = r .. "Key !! msg / int: !! Systemnachricht !! Rückfalltext"
          .. " !! Icon !! File"
    for k, v in pairs(  Data.tree ) do
        r = string.format( "%s\n|-\n|%s||", r, k )
        if v.slot then
            srv = v.slot:gsub( "^@", "visualeditor-" )
            o   = mw.message.new( srv )
            if o:exists() then
                s = o:plain()
            else
                s = "'''*****'''"
            end
            r = string.format( "%sstyle='%s'|%s||%s||",
                               r, stm, srv, s )
        else
            r = r .. " || ||"
            s = false
        end
        if v.show then
            say = v.show
            if say == s then
                say = string.format( "<s>%s</s>", say )
            end
            r = string.format( "%s%s||", r, say )
        else
            r = r .. " ||"
        end
        if v.icon then
            r = string.format( "%s[[File:%s|16px]]||style='%s'|%s",
                               r, v.icon, sti, v.icon )
        else
            r = r .. " ||"
        end
    end -- for k, v
    r = r .. "\n|}"
    return r
end -- p.tree2table()

return p