更多操作
小无编辑摘要 |
小无编辑摘要 |
||
第8行: | 第8行: | ||
arg = string.sub(arg, 2, -1) |
arg = string.sub(arg, 2, -1) |
||
pattern = '^%s*<gallery>.*</gallery>%s*$' |
pattern = '^%s*<gallery>.*</gallery>%s*$' |
||
old_arg = arg |
|||
arg = string.match(arg, pattern) |
arg = string.match(arg, pattern) |
||
if arg == nil then |
if arg == nil then |
||
error('The image argument of this template(module) must be a file name in plain text or a <gallery> element') |
error('The image argument of this template (module) must be a file name in plain text or a <gallery> element. Got:' .. old_arg) |
||
end |
end |
||
images = {} |
images = {} |
2019年1月15日 (二) 01:52的版本
此模块的文档可以在模块:Infobox/item/image/doc创建
local p = {}
function p.make()
local frame = mw.getCurrentFrame()
local parent = frame:getParent()
local arg = parent.args['image']
if string.byte(arg, 1) == 127 then --< 参数可能是 <gallery>…</gallery>
arg = string.sub(arg, 2, -1)
pattern = '^%s*<gallery>.*</gallery>%s*$'
old_arg = arg
arg = string.match(arg, pattern)
if arg == nil then
error('The image argument of this template (module) must be a file name in plain text or a <gallery> element. Got:' .. old_arg)
end
images = {}
for image_line in arg:gmatch('[^\r\n]+') do
-- table.insert(lines, line)
local sep = image_line:find('|')
table.insert(images, {
file = string.sub(image_line, 1, sep-1),
title = string.sub(image_line, sep+1, -1)
})
end
return mw.dumpObject(images) --< debug
else --< 参数是图片名
return frame:expandTemplate{ title = 'Infobox/item/single image', args = {
image = arg, caption = parent.args['caption']
} }
end
end
return p