模块:Flagicon
来自Blockland Wiki
更多操作
此模块的文档可以在模块:Flagicon/doc创建
local p = {}
-- =================================================================
-- 🏳️ 旗帜数据库 (配置中心)
-- 左边必须全大写!右边填真实文件名 (支持乱七八糟的后缀)
-- =================================================================
local flags = {
['CAT'] = '凯特国旗1.png',
}
function p.main(frame)
-- 获取模板参数
local args = frame:getParent().args
local raw_code = args[1] or ''
-- 1. 核心步骤:去空格 + 强制转大写
-- 这样用户输入 'Lat', 'lat', 'LAT' 都会变成 'LAT'
local code = mw.text.trim(raw_code):upper()
-- 2. 查表
local file = flags[code]
-- 3. 没找到?尝试用默认图
if not file then
file = flags['DEFAULT']
end
-- 4. 处理尺寸和链接
local size = args['size'] or '23x15px' -- 默认大小
local link = args['link'] or '' -- 默认无链接
-- 5. 输出 Wikitext
-- class="flagicon" 方便 CSS 控制
return string.format('[[File:%s|%s|link=%s|alt=%s|class=mw-file-element flagicon]]',
file, size, link, args[1] or 'Flag')
end
return p