8,756
edits
mNo edit summary |
(big clean up. will break stuff) |
||
Line 2: | Line 2: | ||
local luatable = require'Module:Color' | local luatable = require'Module:Color' | ||
local process_args = require'Module:ProcessArgs' | |||
--[Utility stuff]-- | --[Utility stuff]-- | ||
Line 18: | Line 19: | ||
function p.linebreaks(frame) | function p.linebreaks(frame) | ||
local b = string.gsub(frame | local b = string.gsub(frame,"(~)\n","\n\n") | ||
return b | return b | ||
end | end | ||
Line 49: | Line 50: | ||
end | end | ||
function p. | function p.parsetest(frame, regextype) | ||
args = frame.args or {frame} | |||
end | regextype = regextype | ||
if regextype == nil then | |||
if args[1]:match('&') ~= nil then | |||
regextype = '' | |||
args[1] = args[1]:gsub('amp;', '') | |||
else | |||
regextype = 'notxml' | |||
end | |||
end | |||
--[Determine regex type] | |||
local regex = "&(%w)([^&\n]*)" | |||
function | local b = normalize(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 | end | ||
function p. | function p.main(frame) | ||
notxml = nil | |||
unbolded = false | |||
tildes = false | |||
args = process_args.merge(true) | |||
for i, arg in ipairs(args) do | |||
if i ~= 1 then | |||
if arg == 'notxml' then | |||
notxml = 'notxml' | |||
elseif arg == 'unbolded' then | |||
unbolded = true | |||
elseif arg == 'tildes are new lines' then | |||
tildes = true | |||
end | |||
end | |||
end | |||
returntext = p.parsetest(args[1], notxml) | |||
if tildes then | |||
returntext = p.linebreaks(returntext) | |||
end | |||
if unbolded then | |||
return returntext | |||
else | |||
return '<b>' .. returntext or '' .. '</b>' | |||
end | |||
end | end | ||
return p | return p |