diff --git a/markdownify/__init__.py b/markdownify/__init__.py
index 5de983d..1ba7be6 100644
--- a/markdownify/__init__.py
+++ b/markdownify/__init__.py
@@ -481,7 +481,7 @@ def convert_pre(self, el, text, convert_as_inline):
if self.options['code_language_callback']:
code_language = self.options['code_language_callback'](el) or code_language
- return '\n```%s\n%s\n```\n' % (code_language, text)
+ return '\n\n```%s\n%s\n```\n\n' % (code_language, text)
def convert_script(self, el, text, convert_as_inline):
return ''
diff --git a/tests/test_conversions.py b/tests/test_conversions.py
index cc5ebc7..b69aa42 100644
--- a/tests/test_conversions.py
+++ b/tests/test_conversions.py
@@ -41,7 +41,7 @@ def test_a_no_autolinks():
def test_a_in_code():
assert md('Google
') == '`Google`'
- assert md('
test\n foo\nbar') == '\n```\ntest\n foo\nbar\n```\n' - assert md('
test\n foo\nbar
') == '\n```\ntest\n foo\nbar\n```\n'
- assert md('*this_should_not_escape*') == '\n```\n*this_should_not_escape*\n```\n' - assert md('
*this_should_not_escape*
') == '\n```\n*this_should_not_escape*\n```\n'
- assert md('\t\tthis should\t\tnot normalize') == '\n```\n\t\tthis should\t\tnot normalize\n```\n' - assert md('
\t\tthis should\t\tnot normalize
') == '\n```\n\t\tthis should\t\tnot normalize\n```\n'
- assert md('foo\nbar\nbaz') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbar\nbaz') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbar\nbaz') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbaz') == '\n```\nfoo\nbaz\n```\n' - assert md('
foo') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('\nbar\nbaz
foo\nbar\nbaz') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbar\n
baz
') == '\n```\nfoo\nbar\nbaz\n```\n'
- assert md('foo\nbar\nbaz') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('\nbar\nbaz
foo\nbar\nbaz', sup_symbol='^') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbar\nbaz', sub_symbol='^') == '\n```\nfoo\nbar\nbaz\n```\n' + assert md('
test\n foo\nbar') == '\n\n```\ntest\n foo\nbar\n```\n\n' + assert md('
test\n foo\nbar
') == '\n\n```\ntest\n foo\nbar\n```\n\n'
+ assert md('*this_should_not_escape*') == '\n\n```\n*this_should_not_escape*\n```\n\n' + assert md('
*this_should_not_escape*
') == '\n\n```\n*this_should_not_escape*\n```\n\n'
+ assert md('\t\tthis should\t\tnot normalize') == '\n\n```\n\t\tthis should\t\tnot normalize\n```\n\n' + assert md('
\t\tthis should\t\tnot normalize
') == '\n\n```\n\t\tthis should\t\tnot normalize\n```\n\n'
+ assert md('foo\nbar\nbaz') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbar\nbaz') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbar\nbaz') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbaz') == '\n\n```\nfoo\nbaz\n```\n\n' + assert md('
foo') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('\nbar\nbaz
foo\nbar\nbaz') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbar\n
baz
') == '\n\n```\nfoo\nbar\nbaz\n```\n\n'
+ assert md('foo\nbar\nbaz') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('\nbar\nbaz
foo\nbar\nbaz', sup_symbol='^') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbar\nbaz', sub_symbol='^') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + assert md('
foo\nbar\nbaz', sub_symbol='^') == '\n\n```\nfoo\nbar\nbaz\n```\n\n' + + assert md('foo
barbaz', sub_symbol='^') == 'foo\n\n```\nbar\n```\n\nbaz' + assert md("
foo
\nbar\nbaz", sub_symbol="^") == "\n\nfoo\n\n```\nbar\n```\n\nbaz" def test_script(): @@ -310,17 +314,17 @@ def test_sup(): def test_lang(): - assert md('
test\n foo\nbar', code_language='python') == '\n```python\ntest\n foo\nbar\n```\n' - assert md('
test\n foo\nbar
', code_language='javascript') == '\n```javascript\ntest\n foo\nbar\n```\n'
+ assert md('test\n foo\nbar', code_language='python') == '\n\n```python\ntest\n foo\nbar\n```\n\n' + assert md('
test\n foo\nbar
', code_language='javascript') == '\n\n```javascript\ntest\n foo\nbar\n```\n\n'
def test_lang_callback():
def callback(el):
return el['class'][0] if el.has_attr('class') else None
- assert md('test\n foo\nbar', code_language_callback=callback) == '\n```python\ntest\n foo\nbar\n```\n' - assert md('
test\n foo\nbar
', code_language_callback=callback) == '\n```javascript\ntest\n foo\nbar\n```\n'
- assert md('test\n foo\nbar
', code_language_callback=callback) == '\n```javascript\ntest\n foo\nbar\n```\n'
+ assert md('test\n foo\nbar', code_language_callback=callback) == '\n\n```python\ntest\n foo\nbar\n```\n\n' + assert md('
test\n foo\nbar
', code_language_callback=callback) == '\n\n```javascript\ntest\n foo\nbar\n```\n\n'
+ assert md('test\n foo\nbar
', code_language_callback=callback) == '\n\n```javascript\ntest\n foo\nbar\n```\n\n'
def test_spaces():
@@ -330,4 +334,4 @@ def test_spaces():
assert md('test textafter') == 'test\n> text\n\nafter' assert md('
foobar') == 'test\n```\n foo \n```\nbar' + assert md('test
foobar') == 'test\n\n```\n foo \n```\n\nbar'