This release provides some improvements to the code base:
๐ DEPRECATE: Move plugins to mdit_py_plugins
Plugins (in markdown_it.extensions
) have now been moved to executablebooks/mdit-py-plugins. This will allow for their maintenance to occur on a different cycle to the core code, facilitating the release of a v1.0.0 for this package
๐ง MAINTAIN: Add mypy type-checking, thanks to @hukkinj1.
โจ NEW: Add linkify, thanks to @tsutsu3.
This extension uses linkify-it-py to identify URL links within text:
github.com
-> <a href="http://github.com">github.com</a>
Important: To use this extension you must install linkify-it-py; pip install markdown-it-py[linkify]
It can then be activated by:
from markdown_it import MarkdownIt md = MarkdownIt().enable("linkify") md.options["linkify"] = True
โจ NEW: Add smartquotes, thanks to @tsutsu3.
This extension will convert basic quote marks to their opening and closing variants:
It can be activated by:
from markdown_it import MarkdownIt md = MarkdownIt().enable("smartquotes") md.options["typographer"] = True
โจ NEW: Add markdown-it-task-lists plugin, thanks to @wna-se.
This is a port of the JS markdown-it-task-lists, for building task/todo lists out of markdown lists with items starting with [ ]
or [x]
. For example:
- [ ] An item that needs doing - [x] An item that is complete
This plugin can be activated by:
from markdown_it import MarkdownIt from markdown_it.extensions.tasklists import tasklists_plugin md = MarkdownIt().use(tasklists_plugin)
๐ Various bug fixes, thanks to @hukkinj1:
env
arg in MarkdownIt.render
_Entities.__contains__
fix return dataskipSpacesBack
and skipCharsBack
methods๐งช TESTS: Add CI for Python 3.9 and PyPy3
โจ NEW: Add simple typographic replacements, thanks to @tsutsu3: This allows you to add the typographer
option to the parser, to replace particular text constructs:
(c)
, (C)
โ ยฉ(tm)
, (TM)
โ โข(r)
, (R)
โ ยฎ(p)
, (P)
โ ยง+-
โ ยฑ...
โ โฆ?....
โ ?..!....
โ !..????????
โ ???!!!!!
โ !!!,,,
โ ,--
โ &ndash---
โ &mdashmd = MarkdownIt().enable("replacements") md.options["typographer"] = True
๐ DOCS: Improve documentation for CLI, thanks to @westurner
๐ IMPROVE: Use re.sub()
instead of re.subn()[0]
, thanks to @hukkinj1
๐ FIX: An exception raised by having multiple blank lines at the end of some files
๐ IMPROVE: Add store_labels
option.
This allows for storage of original reference label in link/image token's metadata, which can be useful for renderers.
โจ NEW: Add anchors_plugin
for headers, which can produce:
<h1 id="title-string">Title String <a class="header-anchor" href="#title-string">ยถ</a></h1>
๐ Fixed an undefined variable in the reference block.
๐ Fixed an IndexError
in container_plugin
, when there is no newline on the closing tag line.
โฌ๏ธ UPGRADE: attrs -> v20
This is not breaking, since it only deprecates Python 3.4 (see CHANGELOG.rst)
deflist
and dollarmath
plugins (see plugins list).containers
plugin (see plugins list)