Module:PageSummary
武外梗百科 爱国好学自强图新的百科全书
更多操作
此模块的文档可以在Module:PageSummary/doc创建
local p = {}
-- 实际的逻辑处理函数
function p.getSummaryAndImage(frame)
-- 如果你是通过模板调用,使用 getParent().args;如果是直接调用,使用 args
local args = frame:getParent().args
local pageTitle = args[1] or frame.args[1] or mw.title.getCurrentTitle().text
local entityId = mw.wikibase.getEntityIdForTitle(pageTitle)
if not entityId then
return '<div class="error">未找到关联的 Wikibase 项目。</div>'
end
-- 1. 获取描述
local description = mw.wikibase.getDescription(entityId) or "暂无描述"
-- 2. 获取图片 (P18)
local image = ""
local claims = mw.wikibase.getBestStatements(entityId, 'P18')
if claims[1] and claims[1].mainsnak.datavalue then
image = claims[1].mainsnak.datavalue.value
end
-- 3. 构建简易 HTML
local container = mw.html.create('div')
:cssText('display: flex; gap: 10px; border: 1px solid #ccc; padding: 10px; border-radius: 4px;')
if image ~= "" then
container:tag('div'):wikitext(string.format('[[File:%s|80px]]', image))
end
local text = container:tag('div')
text:tag('b'):wikitext(pageTitle):done()
text:tag('p'):css('margin', '0'):wikitext(description)
return tostring(container)
end
-- 关键:确保导出名称完全一致
return p