why? goldmark lacks documentation gomarkdown does not have extendible inline parsers
parser does two parses
- blocks
- each block is parsed for inline chars (inline parsers)
- creates an ast tree
- uses block parsers for different blocks
- all parsers are extendable
- block parsers are stored in a go map triggered by the first letter of a line
- inline parsers are stored in the inline map
changes from mdnew2:
- parse each line to create an array of blocks
- then parse each block for children
- parse each node for inline changes (emphasis, footnotes)
- changed line parsing algorithm
- modified parse routine to correctly parse blocks