跳转到内容
打开/关闭搜索
搜索
打开/关闭菜单
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 buildSubheader(text) if hasValue(text) then local row = mw.html.create('tr') row:tag('th') :attr('colspan', '2') :css('background', '#E6E6FA') -- 淡紫色 :css('text-align', 'center') :wikitext(text) return tostring(row) end return '' end -- 构建信息框的单行数据 local function buildRow(label, data) if hasValue(data) then local row = mw.html.create('tr') row:tag('th'):css('width', '30%'):css('text-align', 'left'):wikitext(label) row:tag('td'):wikitext(data) 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.2em') :wikitext(title) if hasValue(args.native_name) then title_cell:wikitext('<br /><span style="font-size:85%; font-weight:normal;">' .. args.native_name .. '</span>') 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 -- 开始构建数据部分 local rows = {} table.insert(rows, buildSubheader('基本信息')) -- 特殊处理坐标行 if hasValue(args.lon) or hasValue(args.lat) then local coord_data = '经度 ' .. (args.lon or '未提供') .. '<br />纬度 ' .. (args.lat or '未提供') table.insert(rows, buildRow('坐标', coord_data)) end table.insert(rows, buildSubheader('地理位置')) table.insert(rows, buildRow('国家', args.country)) table.insert(rows, buildRow('省', args.province)) table.insert(rows, buildSubheader('行政')) -- 已简化的行政区分类行 table.insert(rows, buildRow('分类', args.type)) table.insert(rows, buildRow('设立', args.established)) table.insert(rows, buildRow('市长', args.mayor)) -- 人口信息(没有子标题) if hasValue(args.population) then local pop_data = args.population if hasValue(args.population_as_of) then pop_data = pop_data .. ' 人 (' .. args.population_as_of .. ')' end table.insert(rows, buildRow('人口', pop_data)) end -- 将所有行添加到表格中 root:wikitext(table.concat(rows)) return tostring(root) end return p
此页面嵌入的页面:
模块:Infobox settlement/doc
(
查看源代码
)
返回
模块:Infobox settlement
。
查看“︁模块:Infobox settlement”︁的源代码
来自Blockland Wiki