Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:IncreaseHeadings: Difference between revisions

From Teriock
Content deleted Content added
No edit summary
Tag: Reverted
No edit summary
Tag: Manual revert
Line 2: Line 2:


function p.increaseHeadings(frame)
function p.increaseHeadings(frame)
-- Get the page name from the argument
-- Get the raw wikitext of the transcluded page
local pageName = frame.args[1]
local pageContent = frame:expandTemplate{ title = frame.args[1] } or ''
if not pageName or pageName == "" then
return "Error: No page name provided."
end

-- Fetch the raw content of the page
local title = mw.title.new(pageName)
if not title or not title.exists then
return "Error: Page does not exist."
end

local content = title:getContent()
if not content then
return "Error: Could not fetch page content."
end

-- Replace headings with custom wrapping or increase levels
-- Replace headings with custom wrapping or increase levels
content = mw.ustring.gsub(content, '^(=+)(.-)(=+)$', function(eq1, text, eq2)
pageContent = mw.ustring.gsub(pageContent, '^(=+)(.-)(=+)$', function(eq1, text, eq2)
if #eq1 == #eq2 then
if #eq1 == #eq2 then
return '{{' .. text .. '}}' -- Replace for testing
local newLevel = eq1 .. '='
return newLevel .. text .. newLevel
else
else
return eq1 .. text .. eq2
return eq1 .. text .. eq2
end
end
end)
end)

return content
return pageContent
end
end



Revision as of 01:41, 26 December 2024

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

local p = {}

function p.increaseHeadings(frame)
    -- Get the raw wikitext of the transcluded page
    local pageContent = frame:expandTemplate{ title = frame.args[1] } or ''
    
    -- Replace headings with custom wrapping or increase levels
    pageContent = mw.ustring.gsub(pageContent, '^(=+)(.-)(=+)$', function(eq1, text, eq2)
        if #eq1 == #eq2 then
            local newLevel = eq1 .. '='
            return newLevel .. text .. newLevel
        else
            return eq1 .. text .. eq2
        end
    end)
    
    return pageContent
end

return p