Turns Noddity post objects into basic abstract syntax trees.
Example
var parser = var Linkify = var linkify = var ast = var full = ast
API
var parser =
var ast = parser(post, linkify, [options])
post
: a Noddity post object (from a Noddity Butler)linkify
: a Noddity Linkifieroptions
: an optional object of optionsconvertToHtml
: convert posts from markdown to HTML. Defaults to true. (Ifmarkdown: false
is on the post's metadata, it will not be converted, even when this is set to true.)
var ast =
ast
An array of objects returned from parser()
. Each object has a type property which can be string
, or template
.
string
type properties:value
string with html or markdown
template
type properties:filename
string, e.g.'my-post.md'
arguments
object, e.g.{ 1: 'hello', key: 'value' }
The AST for this post...
---
prop: val
---
::child|arg|key=value::
I see you like {{prop}} templates
...would look like:
type: 'string' value: '<p>' type: 'template' filename: 'child' arguments: 1: 'arg' key: 'value' type: 'string' value: '</p>\n<p>I see you like {{prop}} templates</p>\n'