local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(frame, args)
end
function p._main(frame, args)
if not frame then
frame = mw.getCurrentFrame()
end
local id = args[1] or ''
local title = args[2] or mw.title.getCurrentTitle().text
if id ~= '' then
-- 链接到一个页面
local url = 'https://vndb.org/v' .. mw.uri.encode(id, 'WIKI')
return '<br>[' .. url .. ' ' .. title .. ']'
else
-- 链接到多个页面
local vlist, plist = {}, {}
for k, v in pairs(args) do
local vid = string.match(k, '^v(%d+)$')
if vid and vid ~= '' and v ~= '' then
local url = 'https://vndb.org/v' .. mw.uri.encode(vid, 'WIKI')
table.insert(vlist, string.format('<li>[%s %s]</li>', url, v))
end
local pid = string.match(k, '^p(%d+)$')
if pid and pid ~= '' and v ~= '' then
local url = 'https://vndb.org/p' .. mw.uri.encode(pid, 'WIKI')
table.insert(plist, string.format('<li>[%s %s]</li>', url, v))
end
end
if #vlist == 0 and #plist == 0 then
return ''
else
return '<ul>' .. table.concat(vlist) .. table.concat(plist) .. '</ul>'
end
end
end
return p