模块:参见
来自SAPedia
更多操作
此模块的文档可以在Module:参见/doc创建
local p = {}
function p.main(frame)
local args = frame:getParent().args
local items = {}
for k, v in pairs(args) do
if type(k) == 'number' and mw.text.trim(v) ~= '' then
table.insert(items, {key = k, value = mw.text.trim(v)})
end
end
if #items == 0 then
return '<span style="color: red; font-weight: bold;">未指定对象</span>'
end
table.sort(items, function(a, b) return a.key < b.key end)
local result = ":参见:"
for i, item in ipairs(items) do
local labelKey = "l" .. item.key
local label = args[labelKey] and mw.text.trim(args[labelKey])
local link
if label and label ~= '' then
link = "[[" .. item.value .. "|" .. label .. "]]"
else
link = "[[" .. item.value .. "]]"
end
if i == 1 then
result = result .. link
elseif i == #items then
result = result .. "和" .. link
else
result = result .. "、" .. link
end
end
return result
end
return p