Module:PageNotice: Difference between revisions

From Candypedia
No edit summary
No edit summary
 
Line 14: Line 14:
     end
     end


     -- Get the current page's categories as text
     -- Fetch the wikitext of the current page
     local pageCategories = mw.site.categories and mw.site.categories() or {}
     local content = title:getContent()
    if not content then
        return ""
    end


     for _, category in ipairs(pageCategories) do
     for category, notice in pairs(categories) do
         local categoryName = category.text
         if string.find(content, "%[%[Category:" .. category .. "%]%]") then
        if categories[categoryName] then
             return frame:expandTemplate{ title = notice }
             return frame:expandTemplate{ title = categories[categoryName] }
         end
         end
     end
     end

Latest revision as of 10:07, 31 May 2024

Documentation for this module may be created at Module:PageNotice/doc

local p = {}

function p.checkCategory(frame)
    local categories = {
        ["Needs Polish"] = "Notice Needs Polish",
        ["Stub"] = "Notice Stub",
        ["Stub for LLM content"] = "Notice Stub for LLM content",
        ["Raw LLM output"] = "Notice LLM raw"
    }

    local title = mw.title.getCurrentTitle()
    if not title then
        return ""
    end

    -- Fetch the wikitext of the current page
    local content = title:getContent()
    if not content then
        return ""
    end

    for category, notice in pairs(categories) do
        if string.find(content, "%[%[Category:" .. category .. "%]%]") then
            return frame:expandTemplate{ title = notice }
        end
    end

    return ""  -- Return an empty string if no category matches
end

return p