跳转到内容
打开/关闭搜索
搜索
打开/关闭菜单
451
条目
808
文件
22
用户
9259
编辑
Blockland Wiki
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
打开/关闭外观设置菜单
无法加载外观设置。请检查您的网络连接并重试。
重试
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
查看“︁模块:Infobox settlement”︁的源代码
来自Blockland Wiki
查看
阅读
查看源代码
查看历史
相关页面
模块
讨论
更多操作
更多
工具
链入页面
相关更改
页面信息
Cargo数据
←
模块:Infobox settlement
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local p = {} -- 辅助函数:检查参数是否存在且不为空 local function hasValue(arg) return arg and arg:match('%S') end -- 构建信息框的单行数据 local function buildRow(label, data) if hasValue(data) then local row = mw.html.create('tr') row:tag('th'):css('width', '30%'):wikitext(label) row:tag('td'):wikitext(data) return tostring(row) end return '' end -- 构建分组子标题行 local function buildSubheader(text) if hasValue(text) then local row = mw.html.create('tr') row:tag('th') :attr('colspan', '2') :css('background', '#E8E8E8') :css('text-align', 'center') :wikitext(text) return tostring(row) end return '' end -- 主函数,生成整个信息框 function p.main(frame) local args = frame:getParent().args local root = mw.html.create('table') root:addClass('infobox') :css('width', '300px') :css('font-size', '90%') -- 标题 local title = args.name or mw.title.getCurrentTitle().text local title_cell = root:tag('tr'):tag('th') :attr('colspan', '2') :css('text-align', 'center') :css('font-size', '125%') :css('padding', '0.5em') :wikitext(title) -- 原生名称 (副标题) if hasValue(args.native_name) then root:tag('tr'):tag('th') :attr('colspan', '2') :css('text-align', 'center') :css('font-style', 'italic') :wikitext(args.native_name) end -- 图片和图注 if hasValue(args.image) then local image_cell = root:tag('tr'):tag('td') :attr('colspan', '2') :css('text-align', 'center') local image_wikitext = '[[File:' .. args.image .. '|280px]]' if hasValue(args.image_caption) then image_wikitext = image_wikitext .. '<br /><span>' .. args.image_caption .. '</span>' end image_cell:wikitext(image_wikitext) end -- *** 新增:蓝色背景的类型标题 *** if hasValue(args.type) then root:tag('tr'):tag('th') :attr('colspan', '2') :css('text-align', 'center') :css('background', '#DDEEFF') -- 维基百科风格的淡蓝色 :wikitext(args.type) end -- 格言 if hasValue(args.motto) then root:tag('tr'):tag('th') :attr('colspan', '2') :css('text-align', 'center') :css('font-style', 'italic') :css('padding', '0.5em') :wikitext('"' .. args.motto .. '"') end -- 开始构建数据部分 local rows = {} table.insert(rows, buildSubheader('概况')) table.insert(rows, buildRow('国家', args.country)) table.insert(rows, buildRow(args.subdivision_type or '省份', args.subdivision_name)) table.insert(rows, buildRow(args.leader_title or '领主', args.leader_name)) table.insert(rows, buildSubheader('地理')) table.insert(rows, buildRow('总面积', (args.area_total_km2 or '') .. ' km²')) table.insert(rows, buildRow('海拔', (args.elevation_m or '') .. ' m')) table.insert(rows, buildSubheader('人口')) table.insert(rows, buildRow('总计', args.population_total)) table.insert(rows, buildRow('密度', args.population_density_km2)) -- 将所有行添加到表格中 root:wikitext(table.concat(rows)) return tostring(root) end return p
此页面嵌入的页面:
模块:Infobox settlement/doc
(
查看源代码
)
返回
模块:Infobox settlement
。
查看“︁模块:Infobox settlement”︁的源代码
来自Blockland Wiki