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

Module:Extract:修订间差异

武外梗百科 爱国好学自强图新的百科全书
创建页面,内容为“local p = {} function p.extractLead(page, sentences) sentences = tonumber(sentences) or 2 local title = mw.title.new(page) if not title or not title.exists then return "" end local api = mw.ext.Api local result = api:get({ action = "query", prop = "extracts", exsentences = sentences, explaintext = true, titles = page }) local pages = result.query and result.query.pages if not…”
 
无编辑摘要
 
(未显示同一用户的1个中间版本)
第1行: 第1行:
local p = {}
local p = {}


function p.extractLead(page, sentences)
function p.extractLead(frame)
     sentences = tonumber(sentences) or 2
    local page = frame.args[1]
     local sentences = tonumber(frame.args[2]) or 2
 
    if not page or page == "" then
        return ""
    end
 
     local title = mw.title.new(page)
     local title = mw.title.new(page)
     if not title or not title.exists then
     if not title or not title.exists then
第8行: 第14行:
     end
     end


     local api = mw.ext.Api
    -- Scribunto 正确 API 用法
     local api = mw.api.new()
 
     local result = api:get({
     local result = api:get({
         action = "query",
         action = "query",
第17行: 第25行:
     })
     })


     local pages = result.query and result.query.pages
     if not result
     if not pages then
        or not result.query
        or not result.query.pages
     then
         return ""
         return ""
     end
     end


     for _, v in pairs(pages) do
     for _, v in pairs(result.query.pages) do
         return v.extract or ""
         if v.extract and v.extract ~= "" then
            return v.extract
        end
     end
     end



2025年12月13日 (六) 22:15的最新版本

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

local p = {}

function p.extractLead(frame)
    local page = frame.args[1]
    local sentences = tonumber(frame.args[2]) or 2

    if not page or page == "" then
        return ""
    end

    local title = mw.title.new(page)
    if not title or not title.exists then
        return ""
    end

    -- Scribunto 正确 API 用法
    local api = mw.api.new()

    local result = api:get({
        action = "query",
        prop = "extracts",
        exsentences = sentences,
        explaintext = true,
        titles = page
    })

    if not result
        or not result.query
        or not result.query.pages
    then
        return ""
    end

    for _, v in pairs(result.query.pages) do
        if v.extract and v.extract ~= "" then
            return v.extract
        end
    end

    return ""
end

return p