spaces and newlines before list markers (was: evolving the spec)

Michel Fortin michel.fortin at
Mon Mar 3 06:48:08 EST 2008

Le 2008-03-02 à 22:14, Seumas Mac Uilleachan a écrit :

> What's needed is a way to distinguish your edge case from the

> general case where it would be a list. Do you use two white spaces

> to preserve the line breaks? Perhaps that could be the trigger in

> this case - a line ending in two white spaces prevents the next line

> from being formatted as a new list.

I don't think that's a good idea. Two spaces at the end of a line
means a line break, not an end of the current paragraph.

> I just tested this edge case in PHP Markdown Extra and it does the

> same thing (both with and without the two white spaces for newlines).

Indeed. I'm not sure what could be done here however, but here is an

John changed things a long time ago now so that it doesn't pose a
problem for text at the root of the document by forcing a blank line
to be present before a list when not inside a list. I'm thinking that
we could do the same for the content of list item parsed as block-
level content. For instance, here you would have a nested ordered list:

* Blah blah blah
1. blah blah
* Blah blah blah

Here too:

* Blah blah blah

1. blah blah

* Blah blah blah

But not in the next examples. Here the "1." list marker wouldn't be
accepted because we're in a block-level list element (since there is a
blank line between the two items):

* Blah blah blah
1. blah blah

* Blah blah blah

Same here, because there is a blank line inside the list item:

* Blah blah blah

Blah blah blah
1. blah blah
* Blah blah blah

Perhaps that's a too subtle distinction, but it's my preferred
solution to date.

Michel Fortin
michel.fortin at

More information about the Markdown-Discuss mailing list