Difference between revisions of "Module:Utility"
Jump to navigation
Jump to search
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
p = {} | p = {} | ||
function p.returnListOfCategoryFromString(a) | |||
arg1 = mw.getCurrentFrame().args[1] | |||
local newString = "" | |||
for word in arg1:gmatch('([^,]+)') do | |||
newString = newString .. "[[Category:" .. word .."]] " | |||
end | |||
return newString | |||
end | |||
function p.monthNumberToName(a) | function p.monthNumberToName(a) | ||
Line 6: | Line 15: | ||
monthNumber = tonumber(arg1) | monthNumber = tonumber(arg1) | ||
return monthNames[monthNumber] | return monthNames[monthNumber] | ||
end | |||
function p.monthNumberToFullMonthName(a) | |||
arg1 = mw.getCurrentFrame().args[1] | |||
monthNames = {"January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"} | |||
monthNumber = tonumber(arg1) | |||
return monthNames[monthNumber] | |||
end | |||
function p.embedYoutubeVideo(a) | |||
cf = mw.getCurrentFrame() | |||
videoIDStr = mw.getCurrentFrame().args[1] | |||
aString = "https://www.youtube.com/embed/" .. videoIDStr | |||
local div = mw.html.create( 'DIV' ) | |||
div | |||
:tag("iframe") | |||
:attr( 'width', '420' ) | |||
:attr( 'height', '315' ) | |||
:attr('src', aString) | |||
return a:preprocess(tostring( div )) | |||
end | end | ||
Line 48: | Line 77: | ||
text = string.reverse(str) | text = string.reverse(str) | ||
return text | return text | ||
end | end | ||
Latest revision as of 01:33, 16 June 2022
Documentation for this module may be created at Module:Utility/doc
p = {}
function p.returnListOfCategoryFromString(a)
arg1 = mw.getCurrentFrame().args[1]
local newString = ""
for word in arg1:gmatch('([^,]+)') do
newString = newString .. "[[Category:" .. word .."]] "
end
return newString
end
function p.monthNumberToName(a)
arg1 = mw.getCurrentFrame().args[1]
monthNames = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}
monthNumber = tonumber(arg1)
return monthNames[monthNumber]
end
function p.monthNumberToFullMonthName(a)
arg1 = mw.getCurrentFrame().args[1]
monthNames = {"January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
monthNumber = tonumber(arg1)
return monthNames[monthNumber]
end
function p.embedYoutubeVideo(a)
cf = mw.getCurrentFrame()
videoIDStr = mw.getCurrentFrame().args[1]
aString = "https://www.youtube.com/embed/" .. videoIDStr
local div = mw.html.create( 'DIV' )
div
:tag("iframe")
:attr( 'width', '420' )
:attr( 'height', '315' )
:attr('src', aString)
return a:preprocess(tostring( div ))
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.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