Module:Qud look: Difference between revisions
Jump to navigation
Jump to search
Rewrite to style look like current ui Tag: Reverted |
Tag: Undo |
||
Line 22: | Line 22: | ||
else | else | ||
linebreaks = false | linebreaks = false | ||
end | |||
--[Determine border color]-- | |||
local bordercolorin = frame.args.bordercolor | |||
if bordercolorin == nil then | |||
bordercolor = '' | |||
elseif bordercolorin == 'c' then | |||
bordercolor = '' | |||
elseif bordercolorin == 'y' then | |||
bordercolor='white-border' | |||
else | |||
error('bordercolor not set to either "c" or "y"',0) | |||
end | end | ||
Line 40: | Line 52: | ||
padding = paddingin | padding = paddingin | ||
end | 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 = ' | bottomtext = 'Perfect' | ||
elseif bottomin == 'none' then | elseif bottomin == 'none' then | ||
bottomtext = '' | bottomtext = '' | ||
else | else | ||
bottomtext = | bottomtext = bottomin | ||
end | end | ||
Line 61: | Line 67: | ||
local textcontent | local textcontent | ||
local parsedbottomtext | local parsedbottomtext | ||
if titlein | if colorparse.determinexml(titlein) then | ||
title = colorparse.parse('&y'.. titlein, 'xml') | |||
else | else | ||
title = colorparse.parse('&y'..titlein, 'notxml') | title = colorparse.parse('&y'..titlein, 'notxml') | ||
Line 70: | Line 76: | ||
else | else | ||
textcontent=colorparse.parse('&y' .. text, 'notxml') | textcontent=colorparse.parse('&y' .. text, 'notxml') | ||
end | |||
if colorparse.determinexml(bottomtext) then | |||
parsedbottomtext=colorparse.parse('&Y'..bottomtext, 'xml') | |||
else | |||
parsedbottomtext=colorparse.parse('&Y'..bottomtext, 'notxml') | |||
end | end | ||
Line 77: | Line 88: | ||
local html = mw.html.create('div') | local html = mw.html.create('div') | ||
html | html | ||
:addClass('qud- | :addClass('qud-box-wrapper ' .. bordercolor) | ||
:node(mw.html.create('div') | :node(mw.html.create('div') | ||
:addClass('qud- | :addClass('qud-box') | ||
:node(mw.html.create('div') | :node(mw.html.create('div') | ||
: | :addClass('qud-box-header') | ||
:wikitext('<b>' .. title .. '</b>')) | |||
:node(mw.html.create('div') | :node(mw.html.create('div') | ||
:addClass('qud- | :addClass('qud-box-content') | ||
:wikitext( | :css({['font-weight']='bold', ['line-height']='1.5em', ['padding']='0em' .. padding .. 'em'}) | ||
:wikitext(qudtext)) | |||
:node(mw.html.create('span') | |||
:addClass('qud-box-footer-left') | |||
:wikitext(parsedbottomtext))) | |||
return tostring(html) .. '\n' | return tostring(html) .. '\n' | ||
end | end | ||
return p | return p |
Revision as of 00:52, 2 January 2025
local p = {}
local colorparse = require'Module:ColorParse'
function p.qudlook(frame)
local args
local bordercolor
local padding
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 border color]--
local bordercolorin = frame.args.bordercolor
if bordercolorin == nil then
bordercolor = ''
elseif bordercolorin == 'c' then
bordercolor = ''
elseif bordercolorin == 'y' then
bordercolor='white-border'
else
error('bordercolor not set to either "c" or "y"',0)
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 body padding]--
local paddingin = frame.args.padding
if paddingin == nil or paddingin == '' then
padding = '0'
else
padding = paddingin
end
--[Determine bottomtext]--
local bottomin = frame.args.bottomtext
if bottomin == nil or bottomin == '' then
bottomtext = 'Perfect'
elseif bottomin == 'none' then
bottomtext = ''
else
bottomtext = bottomin
end
--[parse color]--
local title
local textcontent
local parsedbottomtext
if colorparse.determinexml(titlein) then
title = colorparse.parse('&y'.. titlein, 'xml')
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
if colorparse.determinexml(bottomtext) then
parsedbottomtext=colorparse.parse('&Y'..bottomtext, 'xml')
else
parsedbottomtext=colorparse.parse('&Y'..bottomtext, 'notxml')
end
local qudtext = frame:extensionTag{ name='poem', content=textcontent }
--[Return html]--
local html = mw.html.create('div')
html
:addClass('qud-box-wrapper ' .. bordercolor)
:node(mw.html.create('div')
:addClass('qud-box')
:node(mw.html.create('div')
:addClass('qud-box-header')
:wikitext('<b>' .. title .. '</b>'))
:node(mw.html.create('div')
:addClass('qud-box-content')
:css({['font-weight']='bold', ['line-height']='1.5em', ['padding']='0em' .. padding .. 'em'})
:wikitext(qudtext))
:node(mw.html.create('span')
:addClass('qud-box-footer-left')
:wikitext(parsedbottomtext)))
return tostring(html) .. '\n'
end
return p