More actions
Content deleted Content added
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
-- Function to adjust headings with recursion control |
|||
function p.incrementHeadings(frame) |
function p.incrementHeadings(frame) |
||
-- Get the content and recursion depth |
-- Get the content and recursion depth |
||
Line 24: | Line 23: | ||
end) |
end) |
||
-- Return |
-- Return only the adjusted content |
||
return incrementedContent |
return incrementedContent |
||
end |
end |
Revision as of 02:58, 26 December 2024
Documentation for this module may be created at Module:HeaderIncrementer/doc
local p = {}
function p.incrementHeadings(frame)
-- Get the content and recursion depth
local content = frame.args.content or "No content provided."
local depth = tonumber(frame.args.depth) or 1
local maxDepth = 3 -- Set a reasonable recursion limit
-- Check if recursion limit is reached
if depth > maxDepth then
return "Recursion limit reached."
end
-- 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 only the adjusted content
return incrementedContent
end
return p