Difference between revisions of "Module:Test"

From PKC
Jump to navigation Jump to search
 
(78 intermediate revisions by the same user not shown)
Line 2: Line 2:


function p.hello_world(a)
function p.hello_world(a)
cf = mw.mw.getCurrentFrame()
cf = mw.getCurrentFrame()
return "Hello, world! from " .. mw.allToString(a)
return "Hello, world! from " .. mw.allToString(cf.args[3]) .. "-" .. mw.allToString(cf.args[1]) .."-" ..mw.allToString(cf.args[2])
end
end
function p.returnHTMLText(a)
pageContent = tostring(mw.getCurrentFrame().args[1])
local div = mw.html.create( 'syntaxhighlight' )
div
    :attr( 'lang', 'HTML' )
    :wikitext( pageContent )
return a:preprocess(tostring( div ))
end
function p.returnNowkiText(a)
pageContent = tostring(mw.getCurrentFrame().args[1])
local div = mw.html.create( 'nowiki' )
div
    :wikitext( pageContent )
return a:preprocess(tostring( div ))
end
function p.luaSourceCodeText(a)
pageContent = tostring(mw.getCurrentFrame().args[1])
local div = mw.html.create( 'syntaxhighlight' )
div
    :attr( 'lang', 'lua' )
    :wikitext( pageContent )
return a:preprocess(tostring( div ))
end
function p.originalText(a)
return mw.getCurrentFrame().args[1]
end
function p.reverseResult(a)
str = mw.getCurrentFrame().args[1]
text = string.reverse(str)
return a:preprocess(text)
end
function p.reverse(a)
str = mw.getCurrentFrame().args[1]
text = string.reverse(str)
return text
end
function p.greek_letter()
cf = mw.getCurrentFrame()
-- aString = "<math>\\" .. mw.allToString(cf.args[1]) .. "</math>"
str = mw.getCurrentFrame().args[1]
aString = cf:preprocess("<math>\\"..str.."</math>")
return aString
end
function p.rawstring()
cf = mw.getCurrentFrame()
return mw.allToString(cf.args[1])
end
function p.selector()
cf = mw.getCurrentFrame()
arg1 = cf.args[1]
if arg1 == "1" then
return cf.args[2]
elseif arg1 == "2" then
return cf.args[3]
else
return "Error"
end
end
function p.multiArgument()
cf = mw.getCurrentFrame()
arg1 = cf.args[1]
arg2 = cf.args[2]
arg3 = cf.args[3]
return arg1 .. " ," .. arg2 .. " ," .. arg3
end
function p.arithmetic(cf)
arg1 = cf.args[1]
arg2 = cf.args[2]
arg3 = cf.args[3]
num = 0 + arg1 + arg2 + arg3
return num
end
function p.trig(cf)
return math.cos(cf.args[1])
end
function p.repetition(cf)
aList = { }
aString = ""
count = cf.args[1]  + 0
count2 = cf.args[2]  + 0
while  count > 0
do
table.insert(aList, count)
count = count -1
end
for name = cf.args[1], cf.args[2]  do
table.insert(aList, name)
end
resultString = ""
elementCount = #aList
while  elementCount > 1
do
resultString = resultString .. " " .. aList[elementCount] .. ","
elementCount = elementCount - 1
end
return resultString
end
function p.pagesInCategory(cf)
cat = cf.args[1]
which = cf.args[2]
params = {"all", "subcats", "files", "pages" }
return mw.site.stats.pagesInCategory(cat, which)
end


return p
return p

Latest revision as of 15:28, 9 January 2022

Documentation for this module may be created at Module:Test/doc

p = {}

function p.hello_world(a)
	cf = mw.getCurrentFrame()
	return "Hello, world! from " .. mw.allToString(cf.args[3]) .. "-" .. mw.allToString(cf.args[1]) .."-" ..mw.allToString(cf.args[2])
end

function p.returnHTMLText(a)
	pageContent = tostring(mw.getCurrentFrame().args[1])
	local div = mw.html.create( 'syntaxhighlight' )
	div
     :attr( 'lang', 'HTML' )
     :wikitext( pageContent )
	return a:preprocess(tostring( div ))
end

function p.returnNowkiText(a)
	pageContent = tostring(mw.getCurrentFrame().args[1])
	local div = mw.html.create( 'nowiki' )
	div
     :wikitext( pageContent )
	return a:preprocess(tostring( div ))
end

function p.luaSourceCodeText(a)
	pageContent = tostring(mw.getCurrentFrame().args[1])
	local div = mw.html.create( 'syntaxhighlight' )
	div
     :attr( 'lang', 'lua' )
     :wikitext( pageContent )
	return a:preprocess(tostring( div ))
end

function p.originalText(a)
	return mw.getCurrentFrame().args[1]
end

function p.reverseResult(a)
	str = mw.getCurrentFrame().args[1]
	text = string.reverse(str)
	return a:preprocess(text)
end

function p.reverse(a)
	str = mw.getCurrentFrame().args[1]
	text = string.reverse(str)
	return text
end

function p.greek_letter()
	cf = mw.getCurrentFrame()
	-- aString = "<math>\\" .. mw.allToString(cf.args[1]) .. "</math>"
	str = mw.getCurrentFrame().args[1]
	aString = cf:preprocess("<math>\\"..str.."</math>")
	return aString
end

function p.rawstring()
	cf = mw.getCurrentFrame()
	return mw.allToString(cf.args[1])
end

function p.selector()
	cf = mw.getCurrentFrame()
	arg1 = cf.args[1]
	if arg1 == "1" then
		return cf.args[2]
	elseif arg1 == "2" then
		return cf.args[3]
	else
		return "Error"
	end
end

function p.multiArgument()
	cf = mw.getCurrentFrame()
	arg1 = cf.args[1]
	arg2 = cf.args[2]
	arg3 = cf.args[3]
	return arg1 .. " ," .. arg2 .. " ," .. arg3
end

function p.arithmetic(cf)
	arg1 = cf.args[1]
	arg2 = cf.args[2]
	arg3 = cf.args[3]
	num = 0 + arg1 + arg2 + arg3
	return num
end

function p.trig(cf)
	return math.cos(cf.args[1])
end

function p.repetition(cf)
	aList = { }
	aString = ""
	count = cf.args[1]  + 0
	count2 = cf.args[2]  + 0

	while  count > 0 
	do
		table.insert(aList, count)
		count = count -1
	end
	
	for name = cf.args[1], cf.args[2]  do
		table.insert(aList, name)
	end
	resultString = ""
	elementCount = #aList
	while  elementCount > 1 
	do
		resultString = resultString .. " " .. aList[elementCount] .. ","
		elementCount = elementCount - 1
	end
	return resultString
end

function p.pagesInCategory(cf)
	cat = cf.args[1]
	which = cf.args[2]
	params = {"all", "subcats", "files", "pages" }
	return mw.site.stats.pagesInCategory(cat, which)
end


return p