diff options
-rw-r--r-- | markdown/preprocessors.py | 7 | ||||
-rw-r--r-- | tests/misc/more_comments.html | 8 | ||||
-rw-r--r-- | tests/misc/more_comments.txt | 10 | ||||
-rw-r--r-- | tests/misc/multiline-comments.html | 22 | ||||
-rw-r--r-- | tests/misc/multiline-comments.txt | 20 |
5 files changed, 55 insertions, 12 deletions
diff --git a/markdown/preprocessors.py b/markdown/preprocessors.py index 1b5bc7e..1e10cfc 100644 --- a/markdown/preprocessors.py +++ b/markdown/preprocessors.py @@ -201,7 +201,7 @@ class HtmlBlockPreprocessor(Preprocessor): if not in_tag: if block.startswith("<") and len(block.strip()) > 1: - if block[1] == "!": + if block[1:4] == "!--": # is a comment block left_tag, left_index, attrs = "--", 2, {} else: @@ -239,9 +239,8 @@ class HtmlBlockPreprocessor(Preprocessor): continue else: # if is block level tag and is not complete - - if util.isBlockLevel(left_tag) or left_tag == "--" \ - and not block.rstrip().endswith(">"): + if (not self._equal_tags(left_tag, right_tag)) and \ + (util.isBlockLevel(left_tag) or left_tag == "--"): items.append(block.strip()) in_tag = True else: diff --git a/tests/misc/more_comments.html b/tests/misc/more_comments.html index 99f5781..5ca6731 100644 --- a/tests/misc/more_comments.html +++ b/tests/misc/more_comments.html @@ -1,6 +1,8 @@ -<!--asd@asdfd.com> - <!asd@asdfd.com> +<p>Foo</p> <p><asd!@asdfd.com></p> -<p>Test</p>
\ No newline at end of file +<p>Bar</p> +<!--asd@asdfd.com> + +Still in unclosed comment
\ No newline at end of file diff --git a/tests/misc/more_comments.txt b/tests/misc/more_comments.txt index 0397f9c..ddc5bd3 100644 --- a/tests/misc/more_comments.txt +++ b/tests/misc/more_comments.txt @@ -1,9 +1,11 @@ -<!--asd@asdfd.com> - - <!asd@asdfd.com> +Foo <asd!@asdfd.com> -Test +Bar + +<!--asd@asdfd.com> + +Still in unclosed comment diff --git a/tests/misc/multiline-comments.html b/tests/misc/multiline-comments.html index 29c17e9..4bdd5d0 100644 --- a/tests/misc/multiline-comments.html +++ b/tests/misc/multiline-comments.html @@ -14,4 +14,24 @@ foo foo -</div>
\ No newline at end of file +</div> + +<!-- foo + +--> + +<!-- <tag> + +--> + +<!-- + +foo --> + +<!-- + +<tag> --> + +<!-- unclosed comment + +__Still__ a comment (browsers see it that way)
\ No newline at end of file diff --git a/tests/misc/multiline-comments.txt b/tests/misc/multiline-comments.txt index 71bc418..eb567dd 100644 --- a/tests/misc/multiline-comments.txt +++ b/tests/misc/multiline-comments.txt @@ -16,3 +16,23 @@ foo foo </div> + +<!-- foo + +--> + +<!-- <tag> + +--> + +<!-- + +foo --> + +<!-- + +<tag> --> + +<!-- unclosed comment + +__Still__ a comment (browsers see it that way) |