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('
Google
') == '\n```\nGoogle\n```\n' + assert md('
Google
') == '\n\n```\nGoogle\n```\n\n' def test_b(): @@ -251,23 +251,27 @@ def test_p(): def test_pre(): - 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\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\nbar\nbaz
') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
foo\nbar\nbaz
') == '\n```\nfoo\nbar\nbaz\n```\n' - assert md('
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\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\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
', 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
bar
baz', sub_symbol='^') == 'foo\n\n```\nbar\n```\n\nbaz' + assert md("

foo

\n
bar
\n

baz

", 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
text
after') == 'test\n> text\n\nafter' assert md('
  1. x
  2. y
') == '\n\n1. x\n2. y\n' assert md('