Module:Qud look: Difference between revisions
Jump to navigation
Jump to search
can now parse notxml |
update with modern border image. remove padding arg |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
function p.qudlook(frame) | function p.qudlook(frame) | ||
local bordercolor | local args | ||
local | local bordercolor | ||
local | local bottomtext | ||
local linebreaks | |||
--[determine notxml]-- | --[determine notxml]-- | ||
local notxml = false | local notxml = false | ||
local notxmlin = frame.args.notxml | local notxmlin = frame.args.notxml | ||
if notxmlin ~= nil then | if notxmlin ~= nil then | ||
if notxmlin == 'yes' then | |||
notxml = true | |||
end | |||
end | end | ||
if frame.args.linebreaks == "yes" then | |||
linebreaks = true | |||
else | |||
linebreaks = false | |||
end | |||
end | |||
--[Determine Title Color]-- | --[Determine Title Color]-- | ||
local titlein= frame.args.title | local titlein = frame.args.title | ||
--[Determine qud text]-- | --[Determine qud text]-- | ||
local text = frame.args['text'] | local text = frame.args['text'] or "" | ||
if linebreaks then | |||
text = colorparse.linebreaks(text) | |||
end | |||
if | |||
end | |||
--[Determine img]-- | |||
local imgin = frame.args.image | |||
if imgin == nil or imgin == '' then | |||
img = '' | |||
else | |||
img = '[[File:' .. imgin .. '|32px]]' | |||
end | |||
--[Determine bottomtext]-- | --[Determine bottomtext]-- | ||
local bottomin = frame.args.bottomtext | local bottomin = frame.args.bottomtext | ||
if bottomin == nil or bottomin == '' then | if bottomin == nil or bottomin == '' then | ||
bottomtext = '<span style="color:white;">Perfect</span>' | |||
elseif bottomin == 'none' then | elseif bottomin == 'none' then | ||
bottomtext = '' | |||
else | else | ||
bottomtext = colorparse.parse('&Y'..bottomin, 'notxml') | |||
end | end | ||
--[Pass choices through]-- | |||
local choices = frame.args.choices | |||
if choices == nil then | |||
choices = '' | |||
end | |||
--[parse color]-- | --[parse color]-- | ||
local title | local title | ||
local textcontent | local textcontent | ||
local parsedbottomtext | local parsedbottomtext | ||
if | if titlein == nil or titlein == '' then | ||
title = '' | |||
else | |||
title = colorparse.parse('&y'..titlein, 'notxml') | |||
end | |||
if colorparse.determinexml(text) then | |||
textcontent=colorparse.parse('&y' .. text, 'xml') | |||
else | |||
end | textcontent=colorparse.parse('&y' .. text, 'notxml') | ||
end | |||
local qudtext = frame:extensionTag{ name='poem', content=textcontent } | local qudtext = frame:extensionTag{ name='poem', content=textcontent } | ||
--[Return html]-- | --[Return html]-- | ||
local html = | local html = mw.html.create('div') | ||
html | |||
:addClass('qud-look-modern-box') | |||
:node(mw.html.create('div') | |||
return | :addClass('qud-look-modern-title') | ||
:node(mw.html.create('div') | |||
:wikitext(img)) | |||
:node(mw.html.create('div') | |||
:wikitext(title))) | |||
if title ~= '' then | |||
html:node(mw.html.create('hr')) | |||
end | |||
html | |||
:node(mw.html.create('div') | |||
:addClass('qud-look-modern-text') | |||
:wikitext(qudtext)) | |||
if bottomtext ~= '' then | |||
html | |||
:node(mw.html.create('div') | |||
:addClass('qud-look-modern-status') | |||
:wikitext(bottomtext)) | |||
end | |||
if choices ~= '' then | |||
html:node(mw.html.create('div') | |||
:wikitext(choices)) | |||
end | |||
return "<div style='overflow:hidden;'>" .. tostring(html) .. '</div>\n' | |||
end | end | ||
return p | return p |
Latest revision as of 02:09, 3 January 2025
local p = {}
local colorparse = require'Module:ColorParse'
function p.qudlook(frame)
local args
local bordercolor
local bottomtext
local linebreaks
--[determine notxml]--
local notxml = false
local notxmlin = frame.args.notxml
if notxmlin ~= nil then
if notxmlin == 'yes' then
notxml = true
end
end
if frame.args.linebreaks == "yes" then
linebreaks = true
else
linebreaks = false
end
--[Determine Title Color]--
local titlein = frame.args.title
--[Determine qud text]--
local text = frame.args['text'] or ""
if linebreaks then
text = colorparse.linebreaks(text)
end
--[Determine img]--
local imgin = frame.args.image
if imgin == nil or imgin == '' then
img = ''
else
img = '[[File:' .. imgin .. '|32px]]'
end
--[Determine bottomtext]--
local bottomin = frame.args.bottomtext
if bottomin == nil or bottomin == '' then
bottomtext = '<span style="color:white;">Perfect</span>'
elseif bottomin == 'none' then
bottomtext = ''
else
bottomtext = colorparse.parse('&Y'..bottomin, 'notxml')
end
--[Pass choices through]--
local choices = frame.args.choices
if choices == nil then
choices = ''
end
--[parse color]--
local title
local textcontent
local parsedbottomtext
if titlein == nil or titlein == '' then
title = ''
else
title = colorparse.parse('&y'..titlein, 'notxml')
end
if colorparse.determinexml(text) then
textcontent=colorparse.parse('&y' .. text, 'xml')
else
textcontent=colorparse.parse('&y' .. text, 'notxml')
end
local qudtext = frame:extensionTag{ name='poem', content=textcontent }
--[Return html]--
local html = mw.html.create('div')
html
:addClass('qud-look-modern-box')
:node(mw.html.create('div')
:addClass('qud-look-modern-title')
:node(mw.html.create('div')
:wikitext(img))
:node(mw.html.create('div')
:wikitext(title)))
if title ~= '' then
html:node(mw.html.create('hr'))
end
html
:node(mw.html.create('div')
:addClass('qud-look-modern-text')
:wikitext(qudtext))
if bottomtext ~= '' then
html
:node(mw.html.create('div')
:addClass('qud-look-modern-status')
:wikitext(bottomtext))
end
if choices ~= '' then
html:node(mw.html.create('div')
:wikitext(choices))
end
return "<div style='overflow:hidden;'>" .. tostring(html) .. '</div>\n'
end
return p