查看“︁Module:Gallery”︁的源代码
←
Module:Gallery
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
-- This module implements {{gallery}} local p = {} local templatestyles = 'Template:Gallery/styles.css' local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function p.gallery(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if type(frame.getParent) == 'function' then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{gallery}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end local tbl = mw.html.create('table') if args.state then tbl :addClass('gallery-mod-collapsible') :addClass('collapsible') :addClass(args.state) :addClass(args.class) end if args.style then tbl:cssText(args.style) else tbl :addClass('gallery-mod') end if args.align then if args.align == 'center' then tbl :addClass('gallery-mod-center') else tbl:css('float', args.align) end end -- <gallery>把packed的边框也取消了,所以这里给packed也设置不加边框 if (args.mode or '') == 'nolines' or (args.mode or '') == 'packed' then tbl:addClass('gallery-mod-nolines') end if args.title then tbl :tag('tr') :tag('th') :addClass('gallery-mod-title') :wikitext(args.title) end local mainCell = tbl:tag('tr'):tag('td') local imageCount = math.ceil(#args / 2) local cellWidth = tonumber(args.cellwidth) or tonumber(args.width) or 180 local imgHeight = tonumber(args.height) or 180 local lines = tonumber(args.lines) or 2 local captionstyle = args.captionstyle for i = 1, imageCount do local img = trim(args[i*2 - 1] or '') local caption = trim(args[i*2] or '') local imgWidth = args['width' .. i] or args.width or '180' local alt = args['alt' .. i] or '' if (args.mode or '') == 'packed' then imgWidth = '' end local textWidth if cellWidth < 30 then textWidth = imgHeight + 27 else textWidth = cellWidth + 7 end if img ~= '' then local imgTbl = mainCell:tag('table') local img_wikitext = function() if frame:callParserFunction{ name = 'filepath', args = { img:gsub('^%s-[Ff][Ii][Ll][Ee]:', '') } } ~= '' then -- 内部图片 return string.format('[[%s|center|%sx%dpx|alt=%s|%s]]', img, imgWidth, imgHeight, alt, mw.text.unstrip(caption)) else -- 外部图片 return string.format('<img src="%s" alt="%s" style="max-width:%spx; max-height:%dpx" >', img, alt, imgWidth, imgHeight) end end imgTbl :css('width', (cellWidth + 20) .. 'px') :addClass('gallery-mod-box') :tag('tr') :tag('td') :addClass('thumb') :css('height', (imgHeight + 20) .. 'px') :wikitext(img_wikitext()) :done() :done() :tag('tr') :addClass('gallery-mod-text') :tag('td') :addClass('core') :tag('div') :addClass('caption') :css('min-height', (0.1 + 1.5*lines) .. 'em') :css('width', textWidth .. 'px') :cssText(captionstyle) :wikitext(caption .. ' ') end end if args.footer then tbl :tag('tr') :tag('td') :addClass('gallery-mod-footer') :wikitext(args.footer) end if args.perrow then tbl:css('width', 8 + (cellWidth + 20 + 6)*tonumber(args.perrow) .. 'px') end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(tbl) end return p
该页面使用的模板:
Module:Gallery/doc
(
查看源代码
)
返回
Module:Gallery
。
导航菜单
个人工具
创建账号
登录
命名空间
模块
讨论
English
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
特殊页面
工具
链入页面
相关更改
页面信息
批量上传文件
友情链接
VCPedia
其他相关站点
vocaloid中文歌詞wiki
UTAU中华组wiki
初音ミク Wiki
VOCALOID Wiki
Vocaloid Lyrics Wiki
Vocaloid Database