Module:WikitextProcessor: Difference between revisions
// via Wikitext Extension for VSCode Tag: Reverted |
// via Wikitext Extension for VSCode Tag: Manual revert |
||
| Line 115: | Line 115: | ||
-- Replaces placeholder patterns ($VARIABLE$) with actual values | -- Replaces placeholder patterns ($VARIABLE$) with actual values | ||
function p.replacePlaceholders(content, placeholderMap | function p.replacePlaceholders(content, placeholderMap) | ||
if not content then | if not content or not placeholderMap then | ||
return content | return content | ||
end | end | ||
| Line 149: | Line 123: | ||
-- Apply placeholder replacement exactly like the original T-Campaign code | -- Apply placeholder replacement exactly like the original T-Campaign code | ||
for key, value in pairs( | for key, value in pairs(placeholderMap) do | ||
if value and value ~= "" then | |||
result = result:gsub("%$" .. key .. "%$", value) | |||
end | end | ||
end | end | ||
-- Clean up any remaining unfilled placeholders (TemplateStarter's removeEmptyPlaceholders logic) | -- Clean up any remaining unfilled placeholders (TemplateStarter's removeEmptyPlaceholders logic) | ||
result = result:gsub("%$[A-Z_]+%$", "") | result = result:gsub("%$[A-Z_]+%$", "") | ||
result = result:gsub("%s+", " "):gsub("^%s+", ""):gsub("%s+$", "") | result = result:gsub("%s+", " "):gsub("^%s+", ""):gsub("%s+$", "") | ||
return result | return result | ||
| Line 207: | Line 171: | ||
-- Step 2: Replace placeholders if provided | -- Step 2: Replace placeholders if provided | ||
if placeholders then | if placeholders then | ||
processedContent = p.replacePlaceholders(processedContent, placeholders | processedContent = p.replacePlaceholders(processedContent, placeholders) | ||
end | end | ||