Mistune
Yet another markdown parser, inspired by marked in JavaScript.
Features
Pure Python. Tested in Python 2.6+, Python 3.3+ and PyPy.
Very Fast. It is the fastest in all pure Python markdown parsers.
More Features. Table, footnotes, autolink, fenced code etc.
View the benchmark results.
Installation
Installing mistune with pip:
$ pip install mistune
If pip is not available, try easy_install:
$ easy_install mistune
Cython Feature
Mistune can be faster, if you compile with cython:
$ pip install cython mistune
Basic Usage
A simple API that render a markdown formatted text:
import mistune
mistune.markdown('I am using **markdown**')
# output: <p>I am using <strong>markdown</strong></p>
Mistune has all features by default. You don’t have to configure anything.
Renderer
Like misaka/sundown, you can influence the rendering by custom renderers. All you need to do is subclassing a Renderer class.
Here is an example of code highlighting:
import mistune
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import HtmlFormatter
class MyRenderer(mistune.Renderer):
def block_code(self, code, lang):
if not lang:
return '\n<pre><code>%s</code></pre>\n' % \
mistune.escape(code)
lexer = get_lexer_by_name(lang, stripall=True)
formatter = HtmlFormatter()
return highlight(code, lexer, formatter)
renderer = MyRenderer()
md = mistune.Markdown(renderer=renderer)
print(md.render('Some Markdown text.'))
Block Level
Here is a list of block level renderer API:
block_code(code, language=None) block_quote(text) block_html(html) header(text, level, raw=None) hrule() list(body, ordered=True) list_item(text) paragraph(text) table(header, body) table_row(content) table_cell(content, **flags)
The flags tells you whether it is header with flags['header']. And it also tells you the align with flags['align'].
Span Level
Here is a list of span level renderer API:
autolink(link, is_email=False) codespan(text) double_emphasis(text) emphasis(text) image(src, title, alt_text) linebreak() link(link, title, content) raw_html(raw_html) strikethrough(text)
Options
Here is a list of all options that will affect the rendering results:
mistune.markdown(text, escape=True) md = mistune.Markdown(escape=True) md.render(text)
escape: if set to True, all raw html tags will be escaped.
use_xhtml: if set to True, all tags will be in xhtml, for example: <hr />.
Metadata
Release files for mistune 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mistune-0.1.0.tar.gz | 12.1 kB | Without provenance | Details |
Release files / mistune-0.1.0.tar.gz
| Download URL | mistune-0.1.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8817d660daa7de2a51b4a1a1c4b7d74675715eb5321ea453387d86bb13805eb
|
|
BLAKE2b-256 checksum How to use checksums |
14a0ffbfbc3de7c94340ac5e379da711e4b600917eae5ad595fdce7dfcab4092
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for mistune 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.