I've did a quick experiment and plugged new parser to the "preview text" feature of Misago's editor.
Markup:
# New parser
This is Misago's new parser. It emits the `AST` ("**A**bstract **S**yntax **T**ree") representation of the markup, which is then rendered to one of multiple formats, like HTML or plain text for use in <meta type="description"> HTML tag or as a search document for PostgreSQL.
Abstract Syntax Tree
[
{
"type": "heading",
"level": 1,
"children": [
{
"type": "text",
"text": "New parser"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"text": "This is Misago's new parser. It emits the "
},
{
"type": "code-inline",
"code": "AST"
},
{
"type": "text",
"text": " (\""
},
{
"type": "strong",
"children": [
{
"type": "text",
"text": "A"
}
]
},
{
"type": "text",
"text": "bstract "
},
{
"type": "strong",
"children": [
{
"type": "text",
"text": "S"
}
]
},
{
"type": "text",
"text": "yntax "
},
{
"type": "strong",
"children": [
{
"type": "text",
"text": "T"
}
]
},
{
"type": "text",
"text": "ree\") representation of the markup, which is then rendered to one of multiple formats, like HTML or plain text for use in <meta type=\"description\"> HTML tag or as a search document for PostgreSQL."
}
]
}
]
HTML
<h1>New parser</h1>\n<p>This is Misago's new parser. It emits the <code>AST</code> ("<strong>A</strong>bstract <strong>S</strong>yntax <strong>T</strong>ree") representation of the markup, which is then rendered to one of multiple formats, like HTML or plain text for use in <meta type="description"> HTML tag or as a search document for PostgreSQL.</p>
Screenshot