Right, which is the exact same behavior as PHP's implementation. However, if the input is:

```
#before
<div markdown="1" name="Example">
The text of the `Example` element.
</div>

after
```

Then the output should be (because this is what PHP does):

```
<h1>before</h1>

<p><div markdown="1" name="Example">
The text of the <code>Example</code> element.
</div></p>

<p>after</p>
```

But it is actually this:

```
<h1>before</h1>
<p><div markdown="1" name="Example">
The text of the <code>Example</code> element.
</div></p>
<p>after</p>
```

So that is a bug in this implementation. My point is that it should not be a hard and fast rule that a blank line **must** come between a raw block and the preceding block. So the docs shouldn't document it as a rule. Of course, it could be documented as a recommendation. Perhaps something like "To avoid unexpected results, it is generally best to include a blank line before and after any raw html blocks." This doesn't make it a hard and fast rule. It still stands even if the above bug is later fixed. And it is generally good advice anyway.