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

来自Cookie☆Wiki
无编辑摘要
(先看看直接这么返回的效果吧…)
第6行: 第6行:
local arg = parent.args['image']
local arg = parent.args['image']
if string.byte(arg, 1) == 127 then --< 参数可能是 <gallery>…</gallery>
if string.byte(arg, 1) == 127 then --< 参数可能是 <gallery>…</gallery>
arg = string.sub(arg, 2, -1)
return arg
pattern = '^%s*<gallery>.*</gallery>%s*$'
-- arg = string.sub(arg, 2, -1)
old_arg = arg
-- pattern = '^%s*<gallery>.*</gallery>%s*$'
arg = string.match(arg, pattern)
-- old_arg = arg
if arg == nil then
-- 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. Test:' .. mw.text.unstrip(parent.args['image']))
-- error('The image argument of this template (module) must be a file name in plain text or a <gallery> element. Test:' .. mw.text.unstrip(parent.args['image']))
end
images = {}
-- end
for image_line in arg:gmatch('[^\r\n]+') do
-- images = {}
-- table.insert(lines, line)
-- for image_line in arg:gmatch('[^\r\n]+') do
local sep = image_line:find('|')
-- -- table.insert(lines, line)
-- local sep = image_line:find('|')
table.insert(images, {
file = string.sub(image_line, 1, sep-1),
-- table.insert(images, {
title = string.sub(image_line, sep+1, -1)
-- file = string.sub(image_line, 1, sep-1),
})
-- title = string.sub(image_line, sep+1, -1)
end
-- })
return mw.dumpObject(images) --< debug
-- end
-- return mw.dumpObject(images) --< debug
else --< 参数是图片名
else --< 参数是图片名
return frame:expandTemplate{ title = 'Infobox/item/single image', args = {
return frame:expandTemplate{ title = 'Infobox/item/single image', args = {

2019年1月15日 (二) 02:06的版本

可在模块: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>
        return arg
        -- 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. Test:' .. mw.text.unstrip(parent.args['image']))
        -- 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