This was a requirement before my initial PR. To me, this seems like an unsurprising limitation of the blockparser, which depends on line breaks for pattern matching. Here's what I get with the official package:

No linebreak before block:
```
import markdown


example = """\
before
<div markdown="1" name="Example">
The text of the `Example` element.
</div>

after
"""

output = markdown.markdown(example, extensions=['extra'])
print ("""-----------------------------------------------
%s
-------------------------------------------------""") % output
```
Result:
```
-----------------------------------------------
<p>before
<div markdown="1" name="Example">
The text of the <code>Example</code> element.
</div></p>
<p>after</p>
-------------------------------------------------
```

Linebreak before block:
```
import markdown


example = """\
before

<div markdown="1" name="Example">
The text of the `Example` element.
</div>

after
"""

output = markdown.markdown(example, extensions=['extra'])
print ("""-----------------------------------------------
%s
-------------------------------------------------""") % output
```
Result:
```
-----------------------------------------------
<p>before</p>
<div name="Example">

<p>The text of the <code>Example</code> element.</p>
</div>

<p>after</p>
-------------------------------------------------
```