Module:TemplateStarter: Difference between revisions

// via Wikitext Extension for VSCode
// via Wikitext Extension for VSCode
Line 102: Line 102:
         lines[lineCount] = ""  -- Second empty line for distance
         lines[lineCount] = ""  -- Second empty line for distance
         lineCount = lineCount + 1
         lineCount = lineCount + 1
         lines[lineCount] = config.boilerplate.intro
        -- Clean up empty placeholders in boilerplate since no values are provided at this stage
         lines[lineCount] = p.removeEmptyPlaceholders(config.boilerplate.intro)
     end
     end


Line 350: Line 351:
         end
         end
     end
     end
   
    return result
end
-- Remove empty placeholders from text (for cases where no values are provided)
function p.removeEmptyPlaceholders(text)
    if not text then
        return text
    end
   
    -- Remove any remaining $VARIABLE$ placeholders that weren't filled
    local result = text:gsub("%$[A-Z_]+%$", "")
   
    -- Clean up any resulting double spaces or awkward punctuation
    result = result:gsub("%s+", " ")  -- Multiple spaces to single space
    result = result:gsub("^%s+", "")  -- Leading whitespace
    result = result:gsub("%s+$", "")  -- Trailing whitespace
    result = result:gsub("%s+%.", ".")  -- Space before period
    result = result:gsub("is a%s+based", "is based")  -- Fix "is a  based" to "is based"
    result = result:gsub("is a%s+in", "is in")  -- Fix "is a  in" to "is in"
      
      
     return result
     return result