From a9ca97325e9039de90eae29fb3d8879bc9f367f6 Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Fri, 19 Jul 2013 21:39:14 -0400 Subject: Added support for attr_lists on definition list terms. Like headers (h1-6) dt's can only be on one line, so we need to use the header regex on dt's. This was implemented after considering a recent [discussion](http://six.pairlist.net/pipermail/markdown-discuss/2013-July/002859.html) on the markdown mailing list. Prior to that discussion, I never considered that it was impossable to set block level attrs on dt's. Now it is. --- markdown/extensions/attr_list.py | 4 ++-- tests/extensions/attr_list.html | 11 ++++++++++- tests/extensions/attr_list.txt | 11 +++++++++++ tests/extensions/test.cfg | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/markdown/extensions/attr_list.py b/markdown/extensions/attr_list.py index 3d7fc46..2175691 100644 --- a/markdown/extensions/attr_list.py +++ b/markdown/extensions/attr_list.py @@ -80,8 +80,8 @@ class AttrListTreeprocessor(Treeprocessor): if isBlockLevel(elem.tag): # Block level: check for attrs on last line of text RE = self.BLOCK_RE - if isheader(elem): - # header: check for attrs at end of line + if isheader(elem) or elem.tag == 'dt': + # header or def-term: check for attrs at end of line RE = self.HEADER_RE if len(elem) and elem.tag == 'li': # special case list items. children may include a ul or ol. diff --git a/tests/extensions/attr_list.html b/tests/extensions/attr_list.html index ad965fd..b76f73b 100644 --- a/tests/extensions/attr_list.html +++ b/tests/extensions/attr_list.html @@ -48,4 +48,13 @@ And a nested
  • Item5
  • - \ No newline at end of file + +

    Definition lists

    +
    +
    DT1
    +
    DT2
    +
    Some dd
    +
    dd
    +
    DT3
    +
    Some dd
    +
    \ No newline at end of file diff --git a/tests/extensions/attr_list.txt b/tests/extensions/attr_list.txt index a841b87..da108e6 100644 --- a/tests/extensions/attr_list.txt +++ b/tests/extensions/attr_list.txt @@ -65,3 +65,14 @@ Also a codespan: `{: .someclass}`{: .foo}. 1. Item4-1 5. Item5 +# Definition *lists* {.block} + +DT1 {.term} +DT2 {.term} +: Some dd + {.def} +: *dd*{.inline} + +*DT3*{.inline} +: Some dd + diff --git a/tests/extensions/test.cfg b/tests/extensions/test.cfg index 7f082cf..42145c1 100644 --- a/tests/extensions/test.cfg +++ b/tests/extensions/test.cfg @@ -1,5 +1,5 @@ [attr_list] -extensions=attr_list +extensions=attr_list,def_list [codehilite] extensions=codehilite -- cgit v1.2.3