8,756
edits
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 | ||
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("([{}])", "") | ||
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: | ||
-- | -- 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], | output = applytemplate(args[1], clean(args[2]), (args['rasterize'] or 'true')) | ||
else | else | ||
output = p.shader( | 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() |