Module:Char: Difference between revisions
From Neodyland Wiki
More actions
first version |
m corr |
||
| Line 9: | Line 9: | ||
function ncr.substitute ( frame ) | function ncr.substitute ( frame ) | ||
local args = frame.args | local args = frame.args | ||
local char = '' | |||
if args then | if args then | ||
char = args[1] | |||
else | else | ||
char = frame | |||
end | end | ||
if mw. | if mw.ucharing.sub ( char, 1, 1 ) == '#' then | ||
return '#' .. mw. | return '#' .. mw.ucharing.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ucharing.sub ( char, 1, 1 ) == '*' then | ||
return '*' .. mw. | return '*' .. mw.ucharing.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ucharing.sub ( char, 1, 1 ) == ':' then | ||
return ':' .. mw. | return ':' .. mw.ucharing.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ucharing.sub ( char, 1, 1 ) == ';' then | ||
return ';' .. mw. | return ';' .. mw.ucharing.sub( char, 2, #char ); | ||
else | else | ||
return | return char; | ||
end | end | ||
end | end | ||
| Line 29: | Line 30: | ||
-- alias function name (abbreviation) | -- alias function name (abbreviation) | ||
function ncr.subst ( frame ) | function ncr.subst ( frame ) | ||
return ncr.substitute ( | local args = frame.args | ||
local str = args[1] | |||
return ncr.substitute ( str ) | |||
end | end | ||
return ncr; | return ncr; | ||
Revision as of 10:51, 31 August 2019
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 = {}
-- global=args[1] / local=frame
function ncr.substitute ( frame )
local args = frame.args
local char = ''
if args then
char = args[1]
else
char = frame
end
if mw.ucharing.sub ( char, 1, 1 ) == '#' then
return '#' .. mw.ucharing.sub( char, 2, #char );
elseif mw.ucharing.sub ( char, 1, 1 ) == '*' then
return '*' .. mw.ucharing.sub( char, 2, #char );
elseif mw.ucharing.sub ( char, 1, 1 ) == ':' then
return ':' .. mw.ucharing.sub( char, 2, #char );
elseif mw.ucharing.sub ( char, 1, 1 ) == ';' then
return ';' .. mw.ucharing.sub( char, 2, #char );
else
return char;
end
end
-- alias function name (abbreviation)
function ncr.subst ( frame )
local args = frame.args
local str = args[1]
return ncr.substitute ( str )
end
return ncr;