<p> tags surrounding callout blocks are swapped out for <callout> tags, which are used to identify the element that needs to be replaced.
If there are paragraphs inside the callout block, the basic regex replace we did will have broken them, so we need to swap them out for <br> tags. This renders the same as if they were <p> tags because they'll come in pairs.
e.g. <p>[hint]some text</p><p>more text[/hint]</p> would have become <callout type="hint">some text</p><p>more text</callout> which would break the page. So we turn it into <callout type="hint">some text<br><br>more text</callout>
Also protects us from accidentally not closing callout blocks - previously [hint]some text[hint][info]more text[/info] would have turned into a single hint callout, because we didn't close the hint block correctly. This has resulted in plenty of errors in the past. Now it will simply not try to render the hint block, so the page won't be as badly broken.
<p>
tags surrounding callout blocks are swapped out for<callout>
tags, which are used to identify the element that needs to be replaced.<br>
tags. This renders the same as if they were<p>
tags because they'll come in pairs.<p>[hint]some text</p><p>more text[/hint]</p>
would have become<callout type="hint">some text</p><p>more text</callout>
which would break the page. So we turn it into<callout type="hint">some text<br><br>more text</callout>
[hint]some text[hint][info]more text[/info]
would have turned into a single hint callout, because we didn't close the hint block correctly. This has resulted in plenty of errors in the past. Now it will simply not try to render the hint block, so the page won't be as badly broken.Issue