<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-markdown.git/markdown/blockprocessors.py, branch 3.3.2</title>
<subtitle>github.com: waylan/Python-Markdown.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/'/>
<entry>
<title>Refactor HTML Parser (#803)</title>
<updated>2020-09-22T14:42:17+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2020-09-22T14:42:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=b701c34ebd7b2d0eb319517b9a275ddf0c89608d'/>
<id>b701c34ebd7b2d0eb319517b9a275ddf0c89608d</id>
<content type='text'>
The HTML parser has been completely replaced. The new HTML parser is built on Python's html.parser.HTMLParser, which alleviates various bugs and simplifies maintenance of the code.

The md_in_html extension has been rebuilt on the new HTML Parser, which drastically simplifies it. Note that raw HTML elements with a markdown attribute defined are now converted to ElementTree Elements and are rendered by the serializer. Various bugs have been fixed.

Link reference parsing, abbreviation reference parsing and footnote reference parsing has all been moved from preprocessors to blockprocessors, which allows them to be nested within other block level elements. Specifically, this change was necessary to maintain the current behavior in the rebuilt md_in_html extension. A few random edge-case bugs (see the included tests) were resolved in the process.

Closes #595, closes #780, closes #830 and closes #1012.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The HTML parser has been completely replaced. The new HTML parser is built on Python's html.parser.HTMLParser, which alleviates various bugs and simplifies maintenance of the code.

The md_in_html extension has been rebuilt on the new HTML Parser, which drastically simplifies it. Note that raw HTML elements with a markdown attribute defined are now converted to ElementTree Elements and are rendered by the serializer. Various bugs have been fixed.

Link reference parsing, abbreviation reference parsing and footnote reference parsing has all been moved from preprocessors to blockprocessors, which allows them to be nested within other block level elements. Specifically, this change was necessary to maintain the current behavior in the rebuilt md_in_html extension. A few random edge-case bugs (see the included tests) were resolved in the process.

Closes #595, closes #780, closes #830 and closes #1012.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix HR which follows strong em.</title>
<updated>2020-07-01T14:18:28+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2020-07-01T14:08:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=be7ba7bfa17e7cb0c795e101662d1e490334ec84'/>
<id>be7ba7bfa17e7cb0c795e101662d1e490334ec84</id>
<content type='text'>
Fixes #897.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #897.
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit depth of blockquotes using Python's recursion limit. (#991)</title>
<updated>2020-06-29T17:32:46+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2020-06-29T17:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=570625884328ea3c71000391de77776691074033'/>
<id>570625884328ea3c71000391de77776691074033</id>
<content type='text'>
If the Python stack comes within 100 frames of the recursion limit,
then the nesting limit of blockquotes is met. Any remaining text,
including angle brackets, are simply wrapped in a paragraph. To
increasing the nesting depth, increase Python's recursion limit.
However, be aware that each level of recursion will likely result in
multiple frames being added to the Python stack. Therefore, the
recursion depth and nesting depth are not one-to-one.

Performance is an concern here. However, the current solution seems like
a reasonable compromise. It doesn't slow things down too much, but also
avoids Markdown input resulting in an error. This is mostly only a concern
with contrived input anyway. For the average Markdown document, this will
likely never be an issue.

Fixes #799.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the Python stack comes within 100 frames of the recursion limit,
then the nesting limit of blockquotes is met. Any remaining text,
including angle brackets, are simply wrapped in a paragraph. To
increasing the nesting depth, increase Python's recursion limit.
However, be aware that each level of recursion will likely result in
multiple frames being added to the Python stack. Therefore, the
recursion depth and nesting depth are not one-to-one.

Performance is an concern here. However, the current solution seems like
a reasonable compromise. It doesn't slow things down too much, but also
avoids Markdown input resulting in an error. This is mostly only a concern
with contrived input anyway. For the average Markdown document, this will
likely never be an issue.

Fixes #799.</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify xml.etree.ElementTree loading (#902)</title>
<updated>2020-02-03T19:38:22+00:00</updated>
<author>
<name>Dmitry Shachnev</name>
<email>mitya57@users.noreply.github.com</email>
</author>
<published>2020-02-03T19:38:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=a2e4788f8d1850f59699ce0ab500688031ea1571'/>
<id>a2e4788f8d1850f59699ce0ab500688031ea1571</id>
<content type='text'>
cElementTree is a deprecated alias for ElementTree since Python 3.3.

Also drop the recommendation to import etree from markdown.util,
and deprecate markdown.util.etree.

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cElementTree is a deprecated alias for ElementTree since Python 3.3.

Also drop the recommendation to import etree from markdown.util,
and deprecate markdown.util.etree.

</pre>
</div>
</content>
</entry>
<entry>
<title>Drop support for Python 2.7 (#865)</title>
<updated>2019-10-24T13:36:04+00:00</updated>
<author>
<name>Hugo van Kemenade</name>
<email>hugovk@users.noreply.github.com</email>
</author>
<published>2019-10-24T13:36:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=dab931f597cdc5b57d4e2458840fb991606506bc'/>
<id>dab931f597cdc5b57d4e2458840fb991606506bc</id>
<content type='text'>
* Python syntax upgraded using `pyupgrade --py3-plus`
* Travis no longer uses `sudo`. See https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration

See #760 for Python Version Support Timeline and related dicussion.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Python syntax upgraded using `pyupgrade --py3-plus`
* Travis no longer uses `sudo`. See https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration

See #760 for Python Version Support Timeline and related dicussion.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow hashes to be escaped in headers (#763)</title>
<updated>2018-12-22T20:51:30+00:00</updated>
<author>
<name>Isaac Muse</name>
<email>faceless.shop@gmail.com</email>
</author>
<published>2018-12-22T20:51:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=596be577c69c13ac3addcc84701e0a1014b088b0'/>
<id>596be577c69c13ac3addcc84701e0a1014b088b0</id>
<content type='text'>
Adjust pattern to allow for escaped hashes, but take care to not treat
escaped escapes before hashes as escaped hashes. Close #762.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adjust pattern to allow for escaped hashes, but take care to not treat
escaped escapes before hashes as escaped hashes. Close #762.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove lazy_ol keyword. Use sane_lists extension instead.</title>
<updated>2018-07-31T14:20:53+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2015-04-07T23:50:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=15acbdec8c9357b78435af707140b0278cf376b2'/>
<id>15acbdec8c9357b78435af707140b0278cf376b2</id>
<content type='text'>
This was adapted from 11408e50 of the md3 branch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was adapted from 11408e50 of the md3 branch.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix double escaping of amp in attributes (#670)</title>
<updated>2018-07-29T18:44:18+00:00</updated>
<author>
<name>Isaac Muse</name>
<email>faceless.shop@gmail.com</email>
</author>
<published>2018-07-29T18:44:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=59406c41e7c3548d1c95a2091e2d676323494f62'/>
<id>59406c41e7c3548d1c95a2091e2d676323494f62</id>
<content type='text'>
Serializer should only escape &amp; in attributes if not part of &amp;amp; 

Better regex avoid Unicode and `_` in amp detection.

In general, we don't want to escape already escaped content, but with code content, we want literal representations of escaped content, so have code content explicitly escape its content before placing in AtomicStrings.

Closes #669.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Serializer should only escape &amp; in attributes if not part of &amp;amp; 

Better regex avoid Unicode and `_` in amp detection.

In general, we don't want to escape already escaped content, but with code content, we want literal representations of escaped content, so have code content explicitly escape its content before placing in AtomicStrings.

Closes #669.
</pre>
</div>
</content>
</entry>
<entry>
<title>Consistent copyright headers.</title>
<updated>2018-07-27T18:43:09+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2018-07-27T18:34:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=0081cb8519ebda441b129462e8eb6c0f6c7d30a4'/>
<id>0081cb8519ebda441b129462e8eb6c0f6c7d30a4</id>
<content type='text'>
Fixes #435.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #435.
</pre>
</div>
</content>
</entry>
<entry>
<title>All Markdown instances are now 'md'. (#691)</title>
<updated>2018-07-27T14:55:41+00:00</updated>
<author>
<name>Waylan Limberg</name>
<email>waylan.limberg@icloud.com</email>
</author>
<published>2018-07-27T14:55:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-markdown.git/commit/?id=25482261a494ad12c108435580ed13927bdc417c'/>
<id>25482261a494ad12c108435580ed13927bdc417c</id>
<content type='text'>
Previously, instances of the Markdown class were represented as any one 
of 'md', 'md_instance', or 'markdown'. This inconsistency made it 
difficult when developing extensions, or just maintaining the existing 
code. Now, all instances are consistently represented as 'md'.

The old attributes on class instances still exist, but raise a 
DeprecationWarning when accessed. Also on classes where the instance was 
optional, the attribute always exists now and is simply None if no 
instance was provided (previously the attribute wouldn't exist).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, instances of the Markdown class were represented as any one 
of 'md', 'md_instance', or 'markdown'. This inconsistency made it 
difficult when developing extensions, or just maintaining the existing 
code. Now, all instances are consistently represented as 'md'.

The old attributes on class instances still exist, but raise a 
DeprecationWarning when accessed. Also on classes where the instance was 
optional, the attribute always exists now and is simply None if no 
instance was provided (previously the attribute wouldn't exist).
</pre>
</div>
</content>
</entry>
</feed>
