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 | ||