Module:Qud look: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 33: | Line 33: | ||
--[Determine qud text]-- | --[Determine qud text]-- | ||
local text = frame.args['text'] | local text = frame.args['text'] or "" | ||
--[Determine body padding]-- | --[Determine body padding]-- |
Revision as of 21:04, 27 October 2019
local p = {}
local colorparse = require'Module:ColorParse'
function p.qudlook(frame)
local bordercolor
local padding
local bottomtext
--[determine notxml]--
local notxml = false
local notxmlin = frame.args.notxml
if notxmlin ~= nil then
if notxmlin == 'yes' then
notxml = true
end
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 ""
--[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 notxml == true then
title = colorparse.modulenonxmlparse('&y'..titlein)
textcontent=colorparse.modulenonxmlparse('&y' .. text)
parsedbottomtext=colorparse.modulenonxmlparse('&Y'..bottomtext)
else
title = colorparse.moduleparse('&y'.. titlein)
textcontent=colorparse.moduleparse('&y' .. text)
parsedbottomtext=colorparse.moduleparse('&Y'..bottomtext)
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('span')
: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