打开/关闭菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:Infobox/item/image:修订间差异

来自Cookie☆Wiki
无编辑摘要
无编辑摘要
第7行: 第7行:
if string.byte(arg, 1) == 127 then --< 参数可能是 <gallery>…</gallery>
if string.byte(arg, 1) == 127 then --< 参数可能是 <gallery>…</gallery>
arg = string.sub(arg, 2, -1)
arg = string.sub(arg, 2, -1)
pattern = '^<gallery>.*</gallery>$'
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')
end
images = {}
images = {}
for image_line in arg:gmatch('[^\r\n]+') do
for image_line in arg:gmatch('[^\r\n]+') do

2019年1月15日 (二) 01:49的版本

此模块的文档可以在模块: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 = '^<gallery>.*</gallery>$'
        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')
        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