Jump to content
Toggle menu
  • 8 articles
  • 75 files
  • 7 users
  • 37.8K edits
Neodyland Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Char: Difference between revisions

From Neodyland Wiki
first version
 
m Protected "Module:Char": High-risk Lua module ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
 
(4 intermediate revisions by one other user not shown)
Line 6: Line 6:
local ncr = {}
local ncr = {}


-- global=args[1] / local=frame
-- function:  removes characters at the start of the string: '#', '*', ':', ';'
function ncr.substitute ( frame )
function ncr.subst      ( frame )
local args  = frame.args
local gpar = frame.args
if args then
local char = ''
      local str = args[1]
if gpar then char = mw.text.trim ( gpar[1] )-- global
else
else char = mw.text.trim ( frame ) -- local
      local str = frame
end
end
    if  mw.ustring.sub ( str, 1, 1 ) == '#' then  
  if  mw.ustring.sub ( char, 1, 1 ) == '#' then  
         return '#' .. mw.ustring.sub( str, 2, #str );
         return '#' .. mw.ustring.sub( char, 2, #char );
     elseif mw.ustring.sub ( str, 1, 1 ) == '*' then  
     elseif mw.ustring.sub ( char, 1, 1 ) == '*' then  
         return '*' .. mw.ustring.sub( str, 2, #str );
         return '*' .. mw.ustring.sub( char, 2, #char );
     elseif mw.ustring.sub ( str, 1, 1 ) == ':' then  
     elseif mw.ustring.sub ( char, 1, 1 ) == ':' then  
         return ':' .. mw.ustring.sub( str, 2, #str );
         return ':' .. mw.ustring.sub( char, 2, #char );
     elseif mw.ustring.sub ( str, 1, 1 ) == ';' then  
     elseif mw.ustring.sub ( char, 1, 1 ) == ';' then  
         return '&#59;' .. mw.ustring.sub( str, 2, #str );
         return '&#59;' .. mw.ustring.sub( char, 2, #char );
     else
     else
         return str;
         return char;
     end
     end
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
 


-- alias function name (abbreviation)
-- function: removes characters: '"', '&', "'", '<', '=', '>', '[', ']', '{', '|', '}'
function   ncr.subst      ( frame )
function ncr.nowiki ( frame )
return ncr.substitute ( frame )
local gpar = frame.args
end
return mw.text.nowiki( gpar[1] );
end -- end function nowiki


return ncr;
return ncr;

Latest revision as of 12:01, 18 October 2020

Module documentation[ create · purge ]
This documentation is transcluded from 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 '&#35;' .. mw.ustring.sub( char, 2, #char );
    elseif mw.ustring.sub ( char, 1, 1 ) == '*' then 
         return '&#42;' .. mw.ustring.sub( char, 2, #char );
    elseif mw.ustring.sub ( char, 1, 1 ) == ':' then 
         return '&#58;' .. mw.ustring.sub( char, 2, #char );
    elseif mw.ustring.sub ( char, 1, 1 ) == ';' then 
         return '&#59;' .. 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;
Cookies help us deliver our services. By using our services, you agree to our use of cookies.