We are pleased to release Python-Markdown 2.4 which adds one new extension and fixes various bugs. See the list of changes below for details.
Python-Markdown supports Python versions 2.6, 2.7, 3.1, 3.2, and 3.3.
force_linenos configuration setting of the CodeHilite extension has been
marked as Deprecated. It had previously been marked as “Pending Deprecation”
in version 2.3 when a new setting
linenums was added to replace it. See
documentation for the CodeHilite Extension for an explanation of the new
linenums setting. The new setting will honor the old
force_linenos if it
is set, but
force_linenos will raise a
DeprecationWarning and will likely
be removed in a future version of Python-Markdown.
URLs are no longer percent-encoded. This improves compatibility with the original (written in Perl) Markdown implementation. Please percent-encode your URLs manually when needed.
Thanks to the hard work of Dmitry Shachnev the Smarty Extension has been added, which implements SmartyPants using Python-Markdown’s Extension API. This offers a few benefits over a third party script. The HTML does not need to be “tokenized” twice, no hacks are required to combine SmartyPants and code highlighting, and we get markdown’s escaping feature for free. Please try it out and report bugs and/or improvements.
It is now possible to enable Markdown formatting inside HTML blocks by
markdown=1 to opening tag attributes. See Markdown Inside HTML
Blocks section for details. Thanks to ryneeverett for implementing this
The code blocks now support emphasizing some of the code lines. To use this
hl_lines option after language name, for example (using
the Fenced Code Extension):
```.python hl_lines="1 3" # This line will be emphasized. # This one won't. # This one will be also emphasized. ```
Thanks to A. Jesse Jiryu Davis for implementing this feature.
Various bug fixes have been made. See the commit log for a complete history of the changes.