Module:ColorParse: Difference between revisions

700 bytes removed ,  23:55, 12 November 2019
m
no edit summary
(big clean up. will break stuff)
mNo edit summary
Line 27: Line 27:


function p.parse(frame, regextype)
function p.parse(frame, regextype)
   regextype = regextype or ''
   args = frame.args or {[1] = frame}
  --[Determine regex type]
  local regex = "(&)(%w)([^&\n]*)"
  if regextype == 'notxml' then
    regex = "(&)(%w)([^&\n]*)"
  end
 
  local b = normalize(frame.args[1],regextype)
  local a = string.gsub(b, regex, function(_,color,text)
      if text ~= nil and text ~= "" then
          local hexcolor = luatable.parse(color)
          if hexcolor == nil then
            error ("There was no specified color for color code: " .. color)
          end
          text = text or ""
          return "<span style=\"color: " .. hexcolor .. ";\">"  .. text .. "</span>"
      else
          return ""
      end
  end)
return a
end
 
function p.parsetest(frame, regextype)
  args = frame.args or {frame}
   regextype = regextype
   regextype = regextype
   if regextype == nil then
   if regextype == nil then
Line 96: Line 72:
     end
     end
   end
   end
   returntext = p.parsetest(args[1], notxml)
   returntext = p.parse(args[1], notxml)
   if tildes then  
   if tildes then  
     returntext = p.linebreaks(returntext)
     returntext = p.linebreaks(returntext)