[checked revision] | [checked revision] |
((via Mediawiker ST3)) |
m (→top: Remove now-unused (true) from util_args.merge) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | local |
+ | local util_args = require("Module:ArgsUtil") |
+ | local util_text = require('Module:TextUtil') |
||
local p = {} |
local p = {} |
||
Line 8: | Line 9: | ||
for k, v in ipairs(data.replace) do |
for k, v in ipairs(data.replace) do |
||
link = data.targetpage and data.targetpage[k] or string.gsub(title, |
link = data.targetpage and data.targetpage[k] or string.gsub(title, |
||
− | + | util_text.escape(data.find[k] or data.find[1]), |
|
− | + | util_text.escape(data.replace[k])) |
|
− | display = data.display[ |
+ | display = data.display and data.display[k] or string.format('View the corresponding %s page',(data.tournament and data.tournament[k] or '')) |
links[k] = string.format('[[%s|%s]]', link, display) |
links[k] = string.format('[[%s|%s]]', link, display) |
||
end |
end |
||
Line 20: | Line 21: | ||
function p.main(frame) |
function p.main(frame) |
||
+ | local args = util_args.merge() |
||
− | if frame == mw.getCurrentFrame() then |
||
− | args = require('Module:ProcessArgs').merge(true) |
||
− | else |
||
− | frame = mw.getCurrentFrame() |
||
− | end |
||
− | |||
− | local sep = args.sep or ',' |
||
− | |||
for k, v in pairs(args) do |
for k, v in pairs(args) do |
||
− | args[k] = |
+ | args[k] = util_text.split(args[k], args.sep) |
for k2, v2 in ipairs(args[k]) do |
for k2, v2 in ipairs(args[k]) do |
||
args[k][k2] = mw.text.trim(v2) |
args[k][k2] = mw.text.trim(v2) |
||
end |
end |
||
end |
end |
||
− | return p.makeBox( |
+ | return p.makeBox(args) |
end |
end |
||
return p |
return p |
Latest revision as of 09:14, 29 March 2020
Documentation for this module may be created at Module:CorrespondingPageBox/doc
local util_args = require("Module:ArgsUtil")
local util_text = require('Module:TextUtil')
local p = {}
function p.makeBox(data)
local title = mw.title.getCurrentTitle().prefixedText
local links = {}
for k, v in ipairs(data.replace) do
link = data.targetpage and data.targetpage[k] or string.gsub(title,
util_text.escape(data.find[k] or data.find[1]),
util_text.escape(data.replace[k]))
display = data.display and data.display[k] or string.format('View the corresponding %s page',(data.tournament and data.tournament[k] or ''))
links[k] = string.format('[[%s|%s]]', link, display)
end
local tbl = mw.html.create('div'):addClass('correspondingpagebox')
tbl:wikitext(table.concat(links,' | '))
return tostring(tbl)
end
function p.main(frame)
local args = util_args.merge()
for k, v in pairs(args) do
args[k] = util_text.split(args[k], args.sep)
for k2, v2 in ipairs(args[k]) do
args[k][k2] = mw.text.trim(v2)
end
end
return p.makeBox(args)
end
return p