Includes (hopefully) more robust handling of the syntax, especially nesting and the hierarchy of blocks/elements. Also parsing of standard and simple tables (albeit without colspan or rowspan capability) and line blocks. Probably a few other things I've forgotten about too.
Start work on new parser
Tweaking the list block for deferred rendering
Bugfix in block quote; add new parser
Add transition and literal block handling
Add directive class
Bugfixes in parser; add basic directive parsing
Second attempt at better parser
Refactor block quote and lists
Add inspect helpers to some blocks
Update figure rendering for new directive system
Add implementation for doctest block
Add doctest and some explicit-and-directive parsing
Shift stuff around; tweak figure rendering
Update admonition for new directive system; add hook for admonitions …
…into directive parsing
Add hyperlink references
Add enumerated list parsing with HTML ordered list type hinting
Bugfixes and some more comments/documentation
Little update to README.md
Moving stuff about
Remove extraneous argument from parsers/handlers and add some documen…
I'd actually use case and when here instead of if and elsif, since you're just checking test_line. Use different conditionals for the next line of text, since it's checking a different set of data.
Since this file is so big, maybe consider making a Handler class, so you could call Handle.bullet_list and so on. It would certainly clean this file up. Even better, give each one its own file in lib/burst/handlers/.
Oooh... I like that idea. And with Parser now providing unshift and shift there is an external API for handlers to work with instead of manipulating the parser's instance variables directly.
I know that this file isn't complete, but I'd just work on white space. It is pretty readable already, but #slurp is pretty condensed.
Add tables and sub-parsers
Add simple table parsing; adjust table row header internals
Add line block parsing and rendering
Bugfix to make it render line blocks' content with the renderer
Little documentation updates
Add some more comments to slurp method in parser
Per @eturk's suggestions.
Add line numbers and errors
Move in new parser
Add some notes
Merging this now because it's amazing. Any tweaks you want to make, feel free to push to this repo (I added you as a collaborator). 👍
Okay sweet! Any specific features/specification-sections that you'd like to see implemented?
I know that the directive things are numerous and important. There were like 20-30 of them if I recall. I'm going to start doing some render tests this week to compare the results of what we use now with what we're producing here and will have some more specific recommendations.
Sounds good. I'll work on directive coverage and header hierarchy tomorrow (not sure how the reference parser does it, but knowing them it's sure to be... interesting).