You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
abbr extension breaks title attribute added using attr_list #1460
*[abbr]: Abbreviation Definition
{title="Image with abbr in title"}
This renders the attribute code as plain text because the Abbreviation extension modifies the text in the attribute causing it to no longer be a valid attribute list.
>>>importmarkdown>>>src='''... *[abbr]: Abbreviation Definition...... {title="Image with abbr in title"}... '''>>>markdown.markdown(src, extensions=['abbr', 'attr_list'])
'<p><img alt="Image with abbr in title" src="abbr.png" />{title="Image with <abbr title="Abbreviation Definition">abbr</abbr> in title"}</p>'
The cause of the issue is that the abbr extension runs an inline processor while the attr_list extension runs a treeprocessor. If both extensions used the same type of processor we would just ensure they were ordered so that the attr_list processor ran first. But being different processor types, it is not so easy. Especially because we generally want inline processors to run before attr_list so that attribute lists can be applied to inline elements.
This may require use of a custom treeprocessor for the addr extension which runs later. I will have to think about that.
Activity
waylan commentedon Apr 23, 2024
I can confirm this is an issue.
The cause of the issue is that the
abbrextension runs an inline processor while theattr_listextension runs a treeprocessor. If both extensions used the same type of processor we would just ensure they were ordered so that theattr_listprocessor ran first. But being different processor types, it is not so easy. Especially because we generally want inline processors to run beforeattr_listso that attribute lists can be applied to inline elements.This may require use of a custom treeprocessor for the
addrextension which runs later. I will have to think about that.Refactor `abbr` Extension
Refactor `abbr` Extension