Module:ColorParse: Difference between revisions

Jump to navigation Jump to search
63 bytes added ,  19:23, 11 August 2020
m
no edit summary
mNo edit summary
mNo edit summary
Line 11: Line 11:
function normalize(input, type)
function normalize(input, type)
   type = type or 'xml'
   type = type or 'xml'
  local b = clean(input)
   local a = '&y'  
   local a = '&y'  
   if type == 'notxml' then
   if type == 'notxml' then
     a = '&y'
     a = '&y'
   end
   end
  local b = input:gsub("(~J211)", "")
   if not b:match('^%&') then
   if not b:match('^%&') then
     b = a .. b  
     b = a .. b  
   end
   end
    
   b = b:gsub("(\\n)","\n")
  return b
end
 
 
function clean(input)
  local b = input:gsub("(~J211)", "")
   b = b:gsub("([{}])", "")
   b = b:gsub("([{}])", "")
  b = b:gsub("(\\n)","\n")
   return b
   return b
end
end


function p.determinexml(input)
function p.determinexml(input)
   return (input:match('&') ~= nil)
   return (input:match('&') ~= nil)
end
end


function strtotbl(str)
function strtotbl(str)
Line 36: Line 43:
     return tbl
     return tbl
end
end


function p.linebreaks(frame)
function p.linebreaks(frame)
Line 41: Line 49:
   return b
   return b
end
end


--[ The main function. Takes the first argument and snips out stuff we don't need
--[ The main function. Takes the first argument and snips out stuff we don't need
--[ depending on regextype.
--[ depending on regextype.
function p.parse(frame, regextype)
function p.parse(frame, regextype)
   args = frame.args or {[1] = frame}
   args = frame.args or {[1] = frame}
Line 76: Line 84:
return a
return a
end
end


function p.main(frame)
function p.main(frame)
Line 108: Line 117:




-- Beta Parse --
-- Shader Parse --
function p.shader(text, colors, type, rasterize)
function p.shader(text, colors, type, rasterize)
     -- split the colors into a list  
     -- split the colors into a list  
Line 169: Line 178:
     return table.concat(finaltbl)
     return table.concat(finaltbl)
end
end


function p.shadermain(frame)
function p.shadermain(frame)
     local args = process_args.merge(true)
     local args = process_args.merge(true)
     if args[1] and args[2] then -- shader template
     if args[1] and args[2] then -- shader template
       output = applytemplate(args[1], normalize(args[2]), (args['rasterize'] or 'true'))
       output = applytemplate(args[1], clean(args[2]), (args['rasterize'] or 'true'))
     else
     else
       output = p.shader(normalize(args['text']), args['colors'], args['type'], (args['rasterize'] or 'true'))
       output = p.shader(clean(args['text']), args['colors'], args['type'], (args['rasterize'] or 'true'))
     end
     end


Line 184: Line 194:
     end
     end
end
end


function applytemplate(shader, text, raster)
function applytemplate(shader, text, raster)
Line 192: Line 203:
   end
   end
end
end


function p.shaderlist()
function p.shaderlist()
Line 203: Line 215:
   return '<table class="wikitable sortable">' .. tblheader  .. table.concat(tr) .. '</table>'
   return '<table class="wikitable sortable">' .. tblheader  .. table.concat(tr) .. '</table>'
end
end


function p.test()
function p.test()

Navigation menu