Module:Qud look: Difference between revisions

From Caves of Qud Wiki
Jump to navigation Jump to search
(can now parse notxml)
No edit summary
Line 70: Line 70:


--[Return html]--
--[Return html]--
local html = {
local html = mw.html.create('div')
  '<div class="qud-box-wrapper ' ..bordercolor..'"><div class="qud-box"><span class="qud-box-header"><b>' .. title .. '</b></span><div class="qud-box-content" style="font-weight:bold; line-height:1.5em; padding:0em '..padding..'em;">'..qudtext..'</div><span class="qud-box-footer-left">'..parsedbottomtext..'</span></div></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 table.concat(html , '\n')
return tostring(html) .. '\n'
end
end


return p
return p

Revision as of 20:47, 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']

--[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('&amp;y'.. titlein)
  textcontent=colorparse.moduleparse('&amp;y' .. text)
  parsedbottomtext=colorparse.moduleparse('&amp;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