打开/关闭菜单
60
73
29
1.1K
武外梗百科
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Module:PageSummary

武外梗百科 爱国好学自强图新的百科全书
240d:c010:77:8::9d留言2026年2月18日 (三) 13:03的版本

此模块的文档可以在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