„Modul:Text/test“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
2015-05-22 |
2015-10-08 |
||
Zeile 1: | Zeile 1: | ||
--[=[ 2015- |
--[=[ 2015-10-08 |
||
Module:Text test |
Module:Text test |
||
]=] |
]=] |
||
Zeile 9: | Zeile 9: | ||
local QuoteLang = false |
local QuoteLang = false |
||
local QuoteType = false |
local QuoteType = false |
||
local function fault( a ) |
|||
-- Formatiere Fehler mit class=error |
|||
-- Parameter: |
|||
-- a -- string mit Text |
|||
return string.format( "<span class=\"error\">%s</span>", a ) |
|||
end -- fault() |
|||
Zeile 14: | Zeile 23: | ||
Handler.quoteTable = function ( args, frame ) |
Handler.quoteTable = function ( args, frame ) |
||
local r = Text.test( "quote" ) |
local r = Text.test( "quote" ) |
||
local slang = mw.language.getContentLanguage():getCode() |
|||
local strip = [==[ |
local strip = [==[ |
||
|- |
|- |
||
Zeile 27: | Zeile 35: | ||
! lang !! 1 !! 2 !! code |
! lang !! 1 !! 2 !! code |
||
]==] |
]==] |
||
local slang |
|||
if not frame then |
if not frame then |
||
frame = mw.getCurrentFrame() |
frame = mw.getCurrentFrame() |
||
end |
end |
||
slang = frame:preprocess( "{{int:lang}}" ) |
|||
strip = string.format( strip, slang ) |
|||
for k, v in pairs( QuoteLang ) do |
for k, v in pairs( QuoteLang ) do |
||
if type( v ) == "string" then |
if type( v ) == "string" then |
||
Zeile 97: | Zeile 107: | ||
r = Handler[ suite ]( frame.args, frame ) |
r = Handler[ suite ]( frame.args, frame ) |
||
else |
else |
||
r = |
r = fault( "Unkown Handler: " .. suite ) |
||
.. suite .. "</span>" |
|||
end |
end |
||
else |
else |
||
r = |
r = fault( Text ) |
||
end |
end |
||
return r |
return r |
Version vom 7. Oktober 2015, 13:12 Uhr
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
--[=[ 2015-10-08
Module:Text test
]=]
local Handler = { }
local Text = { }
local QuoteLang = false
local QuoteType = false
local function fault( a )
-- Formatiere Fehler mit class=error
-- Parameter:
-- a -- string mit Text
return string.format( "<span class=\"error\">%s</span>", a )
end -- fault()
Handler.quoteTable = function ( args, frame )
local r = Text.test( "quote" )
local strip = [==[
|-
| {{#language:%%s|%s}} || <code>{{#invoke:Text|quoteUnquoted|1|%%s|1}}</code> || <code>{{#invoke:Text|quoteUnquoted|2|%%s|2}}</code> || <code>%%s</code>
]==]
local s, v1, v2
QuoteLang = r.QuoteLang
QuoteType = r.QuoteType
r = [==[
{| class="wikitable sortable"
|-
! lang !! 1 !! 2 !! code
]==]
local slang
if not frame then
frame = mw.getCurrentFrame()
end
slang = frame:preprocess( "{{int:lang}}" )
strip = string.format( strip, slang )
for k, v in pairs( QuoteLang ) do
if type( v ) == "string" then
s = string.format( strip, k, k, k, v )
r = r .. frame:preprocess( s )
else
r = r .. "\n|-\n!" .. k
end
end
r = r .. [==[
|}
{| class="wikitable sortable"
! code !!colspan="3"| 1 !!colspan="3"| 2
]==]
for k, v in pairs( QuoteType ) do
if type( v ) == "table" then
v1 = v[ 1 ]
v2 = v[ 2 ]
if type( v1 ) == "table" then
s = string.format( "%s1%s||%d||%d",
mw.ustring.char( v1[ 1 ] ),
mw.ustring.char( v1[ 2 ] ),
v1[ 1 ],
v1[ 2 ] )
else
s = "???"
end
s = s .. "||"
if type( v2 ) == "table" then
s = string.format( "%s%s2%s||%d||%d",
s,
mw.ustring.char( v2[ 1 ] ),
mw.ustring.char( v2[ 2 ] ),
v2[ 1 ],
v2[ 2 ] )
else
s = s .. "???"
end
else
s = "??????????"
end
r = string.format( "%s\n|-\n|<code>%s</code>||%s", r, k, s )
end
r = r .. "\n|}"
return r
end -- Handler.quoteTable()
-- Export
local p = { }
function p.test( frame )
local lucky, r
lucky, Text = pcall( require, "Module:Text" )
if type( Text ) == "table" then
local suite
if type( frame ) == "string" then
suite = frame
else
suite = frame.args[ 1 ]
end
Text = Text.Text()
if type( Handler[ suite ] ) == "function" then
r = Handler[ suite ]( frame.args, frame )
else
r = fault( "Unkown Handler: " .. suite )
end
else
r = fault( Text )
end
return r
end -- p.test()
return p