Author: jesdisciple
Description:
I was just writing a template and was surprised when syntax similar to `{{#ifeq:{{{param|}}}|value||; text here}}. More text here.' was emboldened and given its own paragraph. I was separating an optional statement off from the main sentence. Having never used definitions before and therefore clueless why this happened, I took a guess and removd the semicolon. Aha! After Googling a bit, I found what the semicolon was for through the bug about the inappropriate <dl/> indentation caused by the colon. Parser functions like this apparently begin new lines (or at least new matches) implicitly for every pipe, and thus I was seeing behavior I didn't explicitly ask for.
Workaround: Use the HTML entity ; (: for colon) instead.
I suggest that:
- the "beginning of line" behavior of parser functions (and presumably templates) be rewritten so only an explicit newline begins a new match; and/or
- escape sequences be designed for the semicolon and colon at the match start, like maybe ;; and :; (additional semicolon for both).
Version: 1.14.x
Severity: enhancement