Module:Plain text: Difference between revisions

implement "encode" option, strip out external link alt text
m (1 revision imported)
(implement "encode" option, strip out external link alt text)
Line 5: Line 5:
function p.main(frame)
function p.main(frame)
local text = frame.args[1]
local text = frame.args[1]
return p._main(text)
local encode = require('Module:yesno')(frame.args.encode)
return p._main(text, encode)
end
end


function p._main(text)
function p._main(text, encode)
if not text then return end
if not text then return end
text = mw.text.killMarkers(text)
text = mw.text.killMarkers(text)
Line 21: Line 22:
:gsub('%[%[%s*[Cc]ategory%s*:.-%]%]', '') --strip out categories
:gsub('%[%[%s*[Cc]ategory%s*:.-%]%]', '') --strip out categories
:gsub('%[%[[^%]]-|', '') --strip out piped link text
:gsub('%[%[[^%]]-|', '') --strip out piped link text
:gsub('([^%[])%[[^%[%]][^%]]-%s', '%1') --strip out external link text
:gsub('^%[[^%[%]][^%]]-%s', '') --strip out external link text
:gsub('[%[%]]', '') --then strip out remaining [ and ]
:gsub('[%[%]]', '') --then strip out remaining [ and ]
:gsub("'''''", "") --strip out bold italic markup
:gsub("'''''", "") --strip out bold italic markup
Line 28: Line 31:
:gsub("%s+$", "") --and trailing spaces
:gsub("%s+$", "") --and trailing spaces
:gsub("%s+", " ") --strip redundant spaces
:gsub("%s+", " ") --strip redundant spaces
return text
if encode then
return mw.text.encode(text)
else
return text
end
end
end


return p
return p
Anonymous user