Module:Sandbox/Alex 21
Appearance
local p = {}
local function getTitle(...)
local success, titleObj = pcall(mw.title.new, ...)
if success then return titleObj
else return nil end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {frameOnly = true})
local template = args[2]
local parameter = args[4]
local templateCount = 0
local parameterCount = 0
local templateMatch = tonumber(args[3] or 1)
local parameterMatch = tonumber(args[5] or 1)
local titleObj = getTitle(args[1])
local articleContent = string.gsub(titleObj:getContent() or "", "\n", "")
while templateCount ~= templateMatch do
if articleContent == nil then return "" end
articleContent = string.match(articleContent, '{{' .. template .. "(.+)")
templateCount = templateCount + 1
end
while parameterCount ~= parameterMatch do
if articleContent == nil then return "" end
articleContent = string.match(articleContent, '|%s*' .. parameter .. '%s*=(.+)')
parameterCount = parameterCount + 1
end
articleContent = frame:preprocess(articleContent)
articleContent = string.match(articleContent, '([^|}]+)')
return articleContent
end
return p