打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:CardData

来自夜幕之下
Rin留言 | 贡献2026年3月10日 (二) 23:08的版本 (重构:Lua 只生成 HTML 骨架,数据由前端 JS 填充 (via update-page on MediaWiki MCP Server))

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

-- Module:CardData
-- 生成卡片 HTML 骨架,实际数据由前端 JS 从 Directus API 获取并填充
-- 用法:{{#invoke:CardData|render|复仇童谣}}

local p = {}

function p.render(frame)
    -- 支持位置参数或具名参数
    local name = frame.args[1] or frame.args.name or ""
    name = mw.text.trim(name)

    if name == "" then
        return '<span class="error">错误:请提供卡片名称,例如 {{#invoke:CardData|render|复仇童谣}}</span>'
    end

    -- 生成骨架容器,data-cardname 供 JS 读取
    -- JS 会找到所有 .ron-card 元素,根据 data-cardname 请求 Directus,然后填充内容
    return '<div class="ron-card" data-cardname="'
        .. mw.text.encode(name)
        .. '"><div class="ron-card-loading">⏳ 加载中…</div></div>'
end

return p