From f54cd8652df84d5f8655819fff0631f0fc92a2b6 Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Tue, 24 Feb 2015 19:01:25 -0500 Subject: No `=` in key or value of attr lists. Fixes #389. Thanks for the report @lazka. --- markdown/extensions/attr_list.py | 4 ++-- tests/extensions/attr_list.html | 8 +++++++- tests/extensions/attr_list.txt | 12 ++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/markdown/extensions/attr_list.py b/markdown/extensions/attr_list.py index 395259a..683bdf8 100644 --- a/markdown/extensions/attr_list.py +++ b/markdown/extensions/attr_list.py @@ -55,8 +55,8 @@ def _handle_word(s, t): _scanner = Scanner([ (r'[^ ]+=".*?"', _handle_double_quote), (r"[^ ]+='.*?'", _handle_single_quote), - (r'[^ ]+=[^ ]*', _handle_key_value), - (r'[^ ]+', _handle_word), + (r'[^ ]+=[^ =]+', _handle_key_value), + (r'[^ =]+', _handle_word), (r' ', None) ]) diff --git a/tests/extensions/attr_list.html b/tests/extensions/attr_list.html index b76f73b..2a36dbc 100644 --- a/tests/extensions/attr_list.html +++ b/tests/extensions/attr_list.html @@ -57,4 +57,10 @@ And a nested dd
DT3
Some dd
- \ No newline at end of file + +

Bad attributes

+

Key without value

+

Value without key

+

No key or value

+

Weirdness

+

More weirdness

\ No newline at end of file diff --git a/tests/extensions/attr_list.txt b/tests/extensions/attr_list.txt index da108e6..c2adbf4 100644 --- a/tests/extensions/attr_list.txt +++ b/tests/extensions/attr_list.txt @@ -76,3 +76,15 @@ DT2 {.term} *DT3*{.inline} : Some dd +# Bad attributes + +Key without *value*{ foo= } + +Value without *key*{ =bar } + +No *key or value*{ = } + +*Weirdness*{ == } + +*More weirdness*{ === } + -- cgit v1.2.3