打开/关闭菜单
切换首选项菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:CharacterInfo:修订间差异

来自异世界百科
删除的内容 添加的内容
落雨枫留言 | 贡献
删除错误的条件
落雨枫留言 | 贡献
增加父级设定信息
第7行: 第7行:
local age = frame.args.age
local age = frame.args.age
local gender = frame.args.gender or frame.args.custom_gender
local gender = frame.args.gender or frame.args.custom_gender
local parent_setting = frame.args.parent_setting or tostring(frame:getTitle())
-- 配置项
-- 配置项
第22行: 第23行:
local dataTable = {}
local dataTable = {}
local infoTable = {
local infoTable = {
["title_key"] = "名字"
["title_key"] = "名字",
["parent_setting"] = parent_setting
}
}
if name then
if name then

2022年11月23日 (三) 13:42的版本

此模块的文档可以在模块:CharacterInfo/doc创建

local p = {}

function p.create(frame)
	-- 信息项
	local name = frame.args.name
	local originalName = frame.args.original_name
	local age = frame.args.age
	local gender = frame.args.gender or frame.args.custom_gender
	local parent_setting = frame.args.parent_setting or tostring(frame:getTitle())
	
	-- 配置项
	local picture = frame.args.picture
	local displayType = frame.args.display_type
	local float = frame.args.float
	local content = frame.args.content or ""
	
	local dataAge = age
	-- 年龄不是数字,则不进入数据表
	if not dataAge:match("^%-?%d+$") then
		dataAge = nil
	end
	
	local dataTable = {}
	local infoTable = {
		["title_key"] = "名字",
		["parent_setting"] = parent_setting
	}
	if name then
		infoTable["名字"] = name
		dataTable["name"] = name
	end
	-- 原语言名字显示为上标
	if originalName then
		infoTable["名字"] = "{{上标|" .. name .. "|" .. originalName .. "}}"
		dataTable["original_name"] = originalName
	end
	if gender then
		infoTable["性别"] = gender
		dataTable["gender"] = gender
	end
	if age then
		infoTable["年龄"] = age
	end
	if dataAge then
		dataTable["age"] = dataAge
	end
	
	if picture then
		infoTable["picture"] = picture
		dataTable["picture"] = picture
	end
	if displayType then
		infoTable["type"] = displayType
	else
		infoTable["type"] = "hidden"
	end
	if float then
		infoTable["float"] = float
	end
	
	local finalHtml = frame:expandTemplate{ title = "信息/角色", args = dataTable }
	
	-- 自动生成内容
	if displayType ~= "hidden" then
		finalHtml = finalHtml .. frame:extensionTag("information", content, infoTable)
	end
	
	return finalHtml
end

return p