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

Module:HeaderIncrementer: Difference between revisions

From Teriock
Content deleted Content added
No edit summary
No edit summary
 
Line 2: Line 2:


function p.incrementHeadings(frame)
function p.incrementHeadings(frame)
-- Get the content and next template name
-- Get the content
local content = frame.args.content or "No content provided."
local content = frame.args.content or "No content provided."
local nextTemplate = frame.args.template or "H1"


-- Increment heading levels
-- Increment heading levels
Line 16: Line 15:
end
end
end)
end)

-- Replace {{H| with the next template in the cycle
incrementedContent = incrementedContent:gsub("{{H|", "{{" .. nextTemplate .. "|")


return incrementedContent
return incrementedContent

Latest revision as of 03:04, 26 December 2024

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

local p = {}

function p.incrementHeadings(frame)
    -- Get the content
    local content = frame.args.content or "No content provided."

    -- Increment heading levels
    local incrementedContent = content:gsub("(=%s*)(.-)(%s*=)", function(leadingEquals, text, trailingEquals)
        local headingLevel = #leadingEquals -- Count the number of `=` signs
        if headingLevel < 6 then
            local newEquals = string.rep("=", headingLevel + 1)
            return newEquals .. text .. newEquals
        else
            return leadingEquals .. text .. trailingEquals
        end
    end)

    return incrementedContent
end

return p