Module:Qud look: Difference between revisions
Jump to navigation
Jump to search
imported>Teamtotobot (by SublimeText.Mediawiker) |
update with modern border image. remove padding arg |
||
(7 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
local args | local args | ||
local bordercolor | local bordercolor | ||
local bottomtext | local bottomtext | ||
local linebreaks | local linebreaks | ||
Line 22: | Line 21: | ||
else | else | ||
linebreaks = false | linebreaks = false | ||
end | end | ||
Line 41: | Line 28: | ||
--[Determine qud text]-- | --[Determine qud text]-- | ||
local text = frame.args['text'] or "" | local text = frame.args['text'] or "" | ||
if linebreaks then | |||
text = colorparse.linebreaks(text) | |||
end | |||
--[Determine | --[Determine img]-- | ||
local | local imgin = frame.args.image | ||
if | if imgin == nil or imgin == '' then | ||
img = '' | |||
else | else | ||
img = '[[File:' .. imgin .. '|32px]]' | |||
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 = 'Perfect' | bottomtext = '<span style="color:white;">Perfect</span>' | ||
elseif bottomin == 'none' then | elseif bottomin == 'none' then | ||
bottomtext = '' | bottomtext = '' | ||
else | else | ||
bottomtext = bottomin | bottomtext = colorparse.parse('&Y'..bottomin, 'notxml') | ||
end | |||
--[Pass choices through]-- | |||
local choices = frame.args.choices | |||
if choices == nil then | |||
choices = '' | |||
end | end | ||
--[parse color]-- | --[parse color]-- | ||
local title | local title | ||
local textcontent | local textcontent | ||
local parsedbottomtext | 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 | else | ||
textcontent=colorparse.parse('&y' .. text, 'notxml') | |||
end | end | ||
Line 82: | Line 74: | ||
local html = mw.html.create('div') | local html = mw.html.create('div') | ||
html | 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') | :node(mw.html.create('div') | ||
:addClass('qud- | :addClass('qud-look-modern-text') | ||
:wikitext(qudtext)) | |||
if bottomtext ~= '' then | |||
html | |||
:node(mw.html.create('div') | :node(mw.html.create('div') | ||
:addClass('qud- | :addClass('qud-look-modern-status') | ||
:wikitext(bottomtext)) | |||
:wikitext( | end | ||
if choices ~= '' then | |||
html:node(mw.html.create('div') | |||
:wikitext(choices)) | |||
end | |||
return tostring(html) .. '\n' | 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