Embed block quote

I agree a normal paragraph as lazy continuous of quote is fine.
But from spec. example 160, looks if block quote marker less or equals than previous, it treat as lazy. Why don’t use the number of quote makers as that line levels?
For example:

This is level 1 quote

This is level 2 quote
Why this is not back to level 1?

But his increase to 3 levels of quote?!

This is a consequence of the rules for block quotes and lazy continuations (and note that CommonMark’s behavior is not idiosyncratic here: http://johnmacfarlane.net/babelmark2/?normalize=1&text=>>>+foo >+bar >>baz ).

To understand it better, first think about a case like this:

> foo
bar

That’s standard laziness – the whole thing is a block quote. Now, what about

> foo
bar
>baz

Laziness means that you can omit the leading >, but you don’t have to omit it; here, it is omitted in the second line but not the third, but again, the whole thing is a single blockquote containing a paragraph with “foo bar baz”.

Okay, now we can put that whole thing in a blockquote:

>> foo
> bar
>>baz

This should give us a blockquote whose contents are the contents of the previous thing – so we have a blockquote containing a blockquote containing a paragraph with “foo bar baz”.

If we add another layer of > to put this whole thing in a block quote, we get

>>> foo
>> bar
>>>baz

which as expected is a triply nested blockquote containing a paragraph with “foo bar baz”.

But now, by the rules for laziness, we can omit the opening > on the second and third line, without changing the meaning. So we get our Example 160.

I hope that helps explain why Example 160 is interpreted the way it is. (Obviously, it would not be good style to write Example 160, but the rules do give it a meaning.)

I’ll agree that the eye naturally parses Example 160 as containing three separate levels of blockquote nesting. But, given Markdown’s commitment to laziness, it just can’t be interpreted that way.

1 Like