Mòideal:For nowiki
(deasbaireachd⧼tpt-languages-separator⧽ ⧼tpt-languages-separator⧽eachdraidh⧼tpt-languages-separator⧽ceanglaichean⧼tpt-languages-separator⧽doc⧼tpt-languages-separator⧽bogsa-gainmhich⧼tpt-languages-separator⧽cùisean deuchainn)
This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Implements {{For nowiki}}.
local p = {}
local function doLoop(frame, args, code, sep, offset, argstosub)
local result = {}
code = mw.text.unstripNoWiki(code)
for i, value in ipairs(args) do
if i > offset then
argstosub["i"] = i - offset
argstosub["1"] = value
local actualCode = code:gsub("{{{([^{}|]*)|?[^{}]*}}}", argstosub)
table.insert(result, frame:preprocess(actualCode))
end
end
return table.concat(result, sep)
end
function p.main(frame)
local args = frame:getParent().args
local sep = args[1]
local code = args.code or args[2]
local offset = args.code and 1 or 2
local argstosub = {}
for key, value in pairs(args) do
if not tonumber(key) and key ~= "i" and key ~= "count" then
argstosub[key] = value
end
end
local countArg = args.count and tonumber(args.count);
if countArg then
offset = 0
args = {}
for i = 1, countArg do
args[i] = i
end
end
return doLoop(frame, args, code, sep, offset, argstosub)
end
function p.template(frame)
local sep = frame.args[1]
local code = frame.args[2] or frame.args.code
local offset = tonumber(frame.args.offset) or 0
return doLoop(frame:getParent(), frame:getParent().args, code, sep, offset, {})
end
return p