m (Protected "Module:Char": High-risk Lua module ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))) |
m (1 revision imported) |
||
(No difference)
|
Latest revision as of 12:41, 19 April 2024
Documentation for this module may be created at Module:Char/doc
-- This function can substitute some critical leading characters -- by their decimal numeric character references -- to avoid their interpretion as wiki syntax local ncr = {} -- function: removes characters at the start of the string: '#', '*', ':', ';' function ncr.subst ( frame ) local gpar = frame.args local char = '' if gpar then char = mw.text.trim ( gpar[1] )-- global else char = mw.text.trim ( frame ) -- local end if mw.ustring.sub ( char, 1, 1 ) == '#' then return '#' .. mw.ustring.sub( char, 2, #char ); elseif mw.ustring.sub ( char, 1, 1 ) == '*' then return '*' .. mw.ustring.sub( char, 2, #char ); elseif mw.ustring.sub ( char, 1, 1 ) == ':' then return ':' .. mw.ustring.sub( char, 2, #char ); elseif mw.ustring.sub ( char, 1, 1 ) == ';' then return ';' .. mw.ustring.sub( char, 2, #char ); else return char; end end -- end function subst -- alias long function name for abbreviation function ncr.substitute ( frame ) local gpar = frame.args return ncr.subst ( gpar[1] ); end -- end function substitute -- function: removes characters: '"', '&', "'", '<', '=', '>', '[', ']', '{', '|', '}' function ncr.nowiki ( frame ) local gpar = frame.args return mw.text.nowiki( gpar[1] ); end -- end function nowiki return ncr;