Difference between revisions of "Demo:IncludeModuleCode"

From PKC
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
<nowiki>{{:Module:Test}}</nowiki>
=Return NoWiki Text=
 
{{#invoke:Test| returnHTMLText |{{:IPFS}}}}
 
=Return Lua Source Code=
 
{{#invoke:Test|luaSourceCodeText|{{:Module:Test}}}}

Latest revision as of 15:05, 9 January 2022

Return NoWiki Text

[[wikipedia:IPFS|IPFS]]([[wikidata:Q21422344|Q21422344]]) stands for Inter-Planetary File System, created by Juan Benet'"`UNIQ--ref-00000000-QINU`"''"`UNIQ--ref-00000001-QINU`"', is a file system designed based on content reference, rather than location reference. This [[namespace management]] scheme of data content, utilizes [[merkel web]] as a data structure to refer to data content.
='"`UNIQ--h-1--QINU`"'Relevant Efforts=
Tim Berners-Lee created [[Solid]] or [[Inrupt]] as a way to utilize IPFS.
='"`UNIQ--h-2--QINU`"'Application Examples=
Justin Poliachik has a 20 minutes video'"`UNIQ--ref-00000002-QINU`"' on using [[IPFS]] for his personal website.

Return Lua Source Code

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 = "'"`UNIQ--math-00000005-QINU`"'"
	str = mw.getCurrentFrame().args[1]
	aString = cf:preprocess("'"`UNIQ--math-00000006-QINU`"'")
	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
  1. Benet, Juan (Oct 23, 2015). Stanford Seminar - IPFS and the Permanent Web. local page: IPFS. 
  2. Benet, Juan (Oct 16, 2019). Why IPFS? - Juan Benet. local page: IPFS. 
  3. Poliachik, Justin (May 27, 2020). Publishing my Website on IPFS. local page: Justin Poliachik.