更多操作
小无编辑摘要 |
小 (test) |
||
第32行: | 第32行: | ||
-- debug |
-- debug |
||
local |
local tab_lis = '' |
||
local image_divs = '' |
|||
for |
for i, image in pairs(images) do |
||
⚫ | |||
local current = '' |
|||
if i == 1 then current = 'current' end |
|||
tab_lis = tab_lis .. string.format('<li class="pi-tab-link \ |
|||
pi-item-spacing %s" data-pi-tab="pi-tab-%d">', |
|||
⚫ | |||
local image = frame:expandTemplate{ title = 'Infobox/item/single image', args = { |
|||
image = image['file'] |
|||
} } |
|||
image_divs = image_divs .. string.format('\ |
|||
<div class="pi-image-collection-tab-content %s" id="%s">', |
|||
current, (i-1)) .. image .. '</div>' |
|||
end |
end |
||
return text |
|||
local tabs_ul = '<ul class="pi-image-collection-tabs">' .. |
|||
tab_lis .. '</ul>' |
|||
return '<div class="pi-image-collection">' .. |
|||
tabs_ul .. image_divs .. '</div>' |
|||
end |
end |
||
2019年1月15日 (二) 02:59的版本
此模块的文档可以在模块:Infobox/item/image/doc创建
local p = {}
function p.make()
local frame = mw.getCurrentFrame()
local parent = frame:getParent()
local arg = parent.args['image']
local gallery_mark_index = arg:find('gallery:')
if gallery_mark_index ~= 1 then --< 单张图片
if string.byte(arg, 1) == 127 then
return '<span style="font-size: 24px; font-weight: bold; color: red">\
不支持<gallery>语法</span>\
[[Category: 含有在信息框中使用了旧的画廊语法的页面]]'
end
return frame:expandTemplate{ title = 'Infobox/item/single image', args = {
image = arg, caption = parent.args['caption']
} }
end
-- 去掉 'gallery:'
arg = string.sub(arg, 9, -1)
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
-- debug
local tab_lis = ''
local image_divs = ''
for i, image in pairs(images) do
local current = ''
if i == 1 then current = 'current' end
tab_lis = tab_lis .. string.format('<li class="pi-tab-link \
pi-item-spacing %s" data-pi-tab="pi-tab-%d">',
current, (i-1)) .. image['title'] .. '</li>'
local image = frame:expandTemplate{ title = 'Infobox/item/single image', args = {
image = image['file']
} }
image_divs = image_divs .. string.format('\
<div class="pi-image-collection-tab-content %s" id="%s">',
current, (i-1)) .. image .. '</div>'
end
local tabs_ul = '<ul class="pi-image-collection-tabs">' ..
tab_lis .. '</ul>'
return '<div class="pi-image-collection">' ..
tabs_ul .. image_divs .. '</div>'
end
return p