Thinking about this more, perhaps the secondary way of rendering line breaks should be:
This is a line
This is another line
Produces:
<pre>
This is a line
This is another line
</pre>
In other words, the parser checks if there is a line break inside of a paragraph and converts it to a pre-formatted block if there is.
Advantages:
- It has semantic meaning: “this block is preformatted text”.
- It is appropriate semantic markup for song lyrics and poetry.
- It should display the same in existing implementations that already use hard line breaks.
- There is no longer a need to use additional syntax (e.g. line blocks) for preformatted text.
- A double space at the end of the line can still be used for a literal break (
<br />
). - What you see is what you get.