diff options
author | Waylan Limberg <waylan@gmail.com> | 2013-02-07 10:34:50 -0500 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2013-02-07 10:34:50 -0500 |
commit | 0a65037e120e0e14659991379648a1a4345b6981 (patch) | |
tree | ef3966bbb2312d5799400236cc328897c23b069b | |
parent | d5a94c21313915ebbd50c061bf19e68ef6dee115 (diff) | |
download | markdown-0a65037e120e0e14659991379648a1a4345b6981.tar.gz markdown-0a65037e120e0e14659991379648a1a4345b6981.tar.bz2 markdown-0a65037e120e0e14659991379648a1a4345b6981.zip |
Preserve whitespace in empty lines
Partial fix for #183. By preserving tabs at the start of empty lines in
code blocks, the parser will retain those empty lines. Still does not work
consistantly if the tab is missing!? Not sure why.
Also added tests.
-rw-r--r-- | markdown/__init__.py | 1 | ||||
-rw-r--r-- | tests/misc/blank_lines_in_codeblocks.html | 31 | ||||
-rw-r--r-- | tests/misc/blank_lines_in_codeblocks.txt | 37 |
3 files changed, 68 insertions, 1 deletions
diff --git a/markdown/__init__.py b/markdown/__init__.py index fbd2879..be45a8b 100644 --- a/markdown/__init__.py +++ b/markdown/__init__.py @@ -284,7 +284,6 @@ class Markdown: source = source.replace(util.STX, "").replace(util.ETX, "") source = source.replace("\r\n", "\n").replace("\r", "\n") + "\n\n" source = source.expandtabs(self.tab_length) - source = re.sub(r'\n +\n', '\n\n', source) # Split into lines and run the line preprocessors. self.lines = source.split("\n") diff --git a/tests/misc/blank_lines_in_codeblocks.html b/tests/misc/blank_lines_in_codeblocks.html new file mode 100644 index 0000000..77da8e4 --- /dev/null +++ b/tests/misc/blank_lines_in_codeblocks.html @@ -0,0 +1,31 @@ +<p>Preserve blank lines in code blocks</p> +<pre><code>a code block + +two blank lines + + +three blank lines + + + +four blank lines + + + + +five blank lines + + + + + +six blank lines + + + + + + +End of block +</code></pre> +<p>End of document</p>
\ No newline at end of file diff --git a/tests/misc/blank_lines_in_codeblocks.txt b/tests/misc/blank_lines_in_codeblocks.txt new file mode 100644 index 0000000..f2e582a --- /dev/null +++ b/tests/misc/blank_lines_in_codeblocks.txt @@ -0,0 +1,37 @@ +Preserve blank lines in code blocks + + a code block + + two blank lines + + + three blank lines + + + + four blank lines + + + + + five blank lines + + + + + + six blank lines + + + + + + + End of block + + + + + + +End of document
\ No newline at end of file |