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

Module:PageSummary

武外梗百科 爱国好学自强图新的百科全书
240d:c010:18:4::50留言2026年2月18日 (三) 12:56的版本

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

local p = {}

function p.render(frame)
    -- 获取条目名称,默认为当前页
    local pageTitle = 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. 获取描述 (Summary)
    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. 构建 UI
    local container = mw.html.create('div')
        :cssText('display: flex; gap: 15px; background: #f8f9fa; border: 1px solid #a2a9b1; padding: 10px; border-radius: 8px; max-width: 400px;')

    -- 左侧图片
    if image ~= "" then
        container:tag('div')
            :cssText('flex-shrink: 0;')
            :wikitext(string.format('[[File:%s|100px]]', image))
    end

    -- 右侧文字
    local textContainer = container:tag('div')
    textContainer:tag('div')
        :cssText('font-weight: bold; font-size: 1.1em; margin-bottom: 5px;')
        :wikitext(pageTitle)
    textContainer:tag('div')
        :cssText('font-size: 0.9em; color: #54595d;')
        :wikitext(description)

    return tostring(container)
end

return p