Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Use the same doubly linked node structure that cmark uses.
The primary advantages of this change are (a) simplified code,
especially in the renderers, and (b) elimination of the need for
recursion, so we can render deeply-nested structures without a
stack overflow.
A node walker has also been added, for easy AST traversal.
* Added js/lib/node.js for nodes. Includes a node walker.
* All modules updated to use node structures.
* Regularized position information into pos property.
* Performance is slightly worse than before, but only marginally,
and no doubt there are more optimizations that can be done.
|
|
|
|
|
|
|
|
|
|
Don't distinguish fenced, indented.
|
|
This reverts commit 4570eb2bff2e1b71fa5b6408abbc69c98ff5ff24.
|
|
This reverts commit a71423f6ee1b77d9f79d42599ea00b4ca99f5da0.
Not quite sure about this change, so reverting for now.
Note that we still have a distinction between fenced and
indented code blocks in the AST. These two distinctions
seem to stand or fall together.
|
|
Now we just have 'header' -- Setext and ATX are just two ways
of forming these; it's not a semantic difference that should remain
in the AST.
|
|
The C and JS implementations were not registering blank lines
after atx headers for purposes of tight/loose list calculation.
Exmaple:
* item
* # block1
## block2
|
|
A setext header was being treated a if it were a blank
line for purposes of tight/loose list determination.
Closes #209.
|
|
|
|
Closes #169.
|
|
Modified processInlines so it creates new objects instead
of modifying in place. This way we can remove the extraneous
fields only needed for parsing.
|
|
|
|
|