打开/关闭搜索
搜索
打开/关闭菜单
15
6636
39
1万
OGAS数据中枢
导航
首页
最近更改
随机页面
特殊页面
上传文件
少女前线
简介
战术人形
装备图鉴
BGM
任务
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
查看“︁Module:GFInfobox”︁的源代码
来自OGAS数据中枢
更多操作
←
Module:GFInfobox
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
管理员
您可以查看和复制此页面的源代码。
local p = {} function p.main(frame) local args = frame.args local html = mw.html.create('div') :addClass('moe-infobox gf-infobox') -- 标题 html:tag('div') :addClass('gf-title') :wikitext(args['标题'] or args['名字'] or mw.title.getCurrentTitle().subpageText) -- 图片 local image = args['image'] if image and image ~= '' then local imgContainer = html:tag('div') :addClass('gf-image-container') imgContainer:wikitext(string.format('[[File:%s|280px|class=infobox-image]]', image)) if args['图片说明'] and args['图片说明'] ~= '' then imgContainer:tag('br'):done() imgContainer:wikitext(args['图片说明']) end else html:tag('div') :addClass('gf-image-container') :wikitext('啊嘞?!<br />怎么回事<br />这个妹子怎么没有头的样子……') end -- 基础资料 html:tag('div') :addClass('gf-section') :wikitext('基础资料') -- 信息字段列表 local fields = { {'本名', args['本名']}, {'别名', args['别名']}, {'发色', formatHairColor(args, frame)}, {'瞳色', formatEyeColor(args, frame)}, {'声优', formatVoiceActor(args)}, {'萌点', args['萌点']}, {'类型', formatWeaponType(args['类型'])}, {'稀有度', formatRarity(args['稀有度'])}, {'原产国', args['原产国']}, {'研发者', args['研发者']}, {'研发商', args['研发商']}, {'研发日期', args['研发日期']}, {'生产商', args['生产商']}, {'生产日期', args['生产日期']}, {'服役期间', args['服役期间']}, {'出身地区', args['出身地区']}, {'活动范围', args['活动范围']}, {'所属团体', args['所属团体']}, {'个人状态', args['个人状态']} } for _, field in ipairs(fields) do local label, value = field[1], field[2] if value and value ~= '' then local row = html:tag('div'):addClass('gf-row') row:tag('div') :addClass('gf-label') :wikitext(label) row:tag('div') :addClass('gf-value') :wikitext(value) end end -- 亲属或相关人 local related = args['相关人士'] if related and related ~= '' then html:tag('div') :addClass('gf-section') :wikitext('亲属或相关人') html:tag('div') :addClass('gf-related') :wikitext(related) end return tostring(html) end -- 格式化发色 function formatHairColor(args, frame) local multiColor = args['多种发色'] if multiColor and multiColor ~= '' then return multiColor end local hairColor = args['发色'] if hairColor and hairColor ~= '' then return frame:preprocess('{{Hair_color|' .. hairColor .. '}}') end return nil end -- 格式化瞳色 function formatEyeColor(args, frame) local multiColor = args['多种瞳色'] if multiColor and multiColor ~= '' then return multiColor end local eyeColor = args['瞳色'] if eyeColor and eyeColor ~= '' then return frame:preprocess('{{Eye_color|' .. eyeColor .. '}}') end return nil end -- 格式化声优 function formatVoiceActor(args) local multiVA = args['多位声优'] if multiVA and multiVA ~= '' then return multiVA end local voiceActor = args['声优'] if voiceActor and voiceActor ~= '' then return string.format('[[%s]]', voiceActor) end return nil end -- 格式化武器类型 function formatWeaponType(weaponType) local weaponTypes = { ['手枪'] = '手枪', ['冲锋枪'] = '冲锋枪', ['步枪'] = '步枪', ['突击步枪'] = '突击步枪', ['机枪'] = '机枪', ['霰弹枪'] = '霰弹枪' } if weaponType and weaponTypes[weaponType] then return weaponTypes[weaponType] end return weaponType end -- 格式化稀有度 function formatRarity(rarity) if not rarity or rarity == '' then return nil end local rarityColors = { [2] = '#777777', [3] = '#33566f', [4] = '#7b813f', [5] = '#a7753b', [6] = '#ad4229' } -- 处理数字 local num = tonumber(rarity) if num then local color = rarityColors[num] if color then return string.format('<span style="color:%s">%s</span>', color, string.rep('★', num)) end return rarity end -- 处理星星 local starCount = 0 rarity:gsub('★', function() starCount = starCount + 1 end) if starCount > 0 then local color = rarityColors[starCount] if color then return string.format('<span style="color:%s">%s</span>', color, rarity) end return rarity end -- 处理箭头 return rarity:gsub('%s*→%s*', ' → '):gsub('%s*->%s*', ' → ') end return p
该页面嵌入的页面:
Module:GFInfobox/doc
(
查看源代码
)
返回
Module:GFInfobox
。
查看“︁Module:GFInfobox”︁的源代码
来自OGAS数据中枢