模块:CardData:修订间差异
来自夜幕之下
更多操作
重构:Lua 只生成 HTML 骨架,数据由前端 JS 填充 (via update-page on MediaWiki MCP Server) |
更新:生成骨架 HTML,数据由 CardData.js 填充 (via update-page on MediaWiki MCP Server) |
||
| 第6行: | 第6行: | ||
function p.render(frame) | function p.render(frame) | ||
-- 支持位置参数或具名参数 | -- 支持位置参数或具名参数 name= | ||
local name = frame.args[1] or frame.args.name or "" | local name = frame.args[1] or frame.args.name or "" | ||
name = mw.text.trim(name) | name = mw.text.trim(name) | ||
| 第14行: | 第14行: | ||
end | end | ||
-- 生成骨架容器,data-cardname 供 | -- 生成骨架容器,data-cardname 供 CardData.js 读取 | ||
-- JS 会找到所有 .ron-card | -- JS 会找到所有 .ron-card[data-cardname] 元素,向 Directus 请求数据后填充内容 | ||
return '<div class="ron-card" data-cardname="' | return '<div class="ron-card" data-cardname="' | ||
.. mw.text.encode(name) | .. mw.text.encode(name) | ||
2026年3月10日 (二) 23:10的版本
此模块的文档可以在模块:CardData/doc创建
-- Module:CardData
-- 生成卡片 HTML 骨架,实际数据由前端 JS 从 Directus API 获取并填充
-- 用法:{{#invoke:CardData|render|复仇童谣}}
local p = {}
function p.render(frame)
-- 支持位置参数或具名参数 name=
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 供 CardData.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