By Vasudev Ram
CommonMark.org via this post on the Python Reddit:
CommonMark.py - pure Python Markdown parser and renderer
From what I could gather, CommonMark is, or aims to be, two things:
1. "A standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests".
2. A Python parser and renderer for the CommonMark Markdown spec.
CommonMark on PyPI, the Python Package Index.
Excerpts from the CommonMark.org site:
[ We propose a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against this specification. We believe this is necessary, even essential, for the future of Markdown. ]
[ Who are you?
We're a group of Markdown fans who either work at companies with industrial scale deployments of Markdown, have written Markdown parsers, have extensive experience supporting Markdown with end users – or all of the above.
Benjamin Dumke-von der Ehe
Jeff Atwood ]
So I installed the Python library for it with:
pip install commonmarkThen modified this snippet of example code from the CommonMark PyPI site:
import CommonMark parser = CommonMark.DocParser() renderer = CommonMark.HTMLRenderer() print(renderer.render(parser.parse("Hello *World*")))on my local machine, to add a few more types of Markdown syntax:
import CommonMark parser = CommonMark.DocParser() renderer = CommonMark.HTMLRenderer() markdown_string = \ """ Heading ======= Sub-heading ----------- # Atx-style H1 heading. ## Atx-style H2 heading. ### Atx-style H3 heading. #### Atx-style H4 heading. ##### Atx-style H5 heading. ###### Atx-style H6 heading. Paragraphs are separated by a blank line. Let 2 spaces at the end of a line to do a line break Text attributes *italic*, **bold**, `monospace`. A [link](http://example.com). Shopping list: * apples * oranges * pears Numbered list: 1. apples 2. oranges 3. pears """ print(renderer.render(parser.parse(markdown_string)))Here is a screenshot of the output HTML generated by CommonMark, loaded in Google Chrome:
Reddit user bracewel, who seems to be a CommonMark team member, said on the Py Reddit thread:
eventually we'd like to add a few more renderers, PDF/RTF being the first....
So CommonMark looks interesting and worth keeping an eye on, IMO.
- Vasudev Ram - Dancing Bison Enterprises - Python training and consulting
Dancing Bison - Contact Page