Commit Briefs
handle non-closed verbatim blocks and nil-ify empty labels
The idea behind the ``` marker is to toggle the preformatted bit on and off, so it's not strictly speaking a "verbatim block", even if it's easier to manage it that way. However, don't throw generic errors like that, and handle EOF without a closing ``` marker. While here, if label is the empty string, use nil.
gemtext: Enrich gemtext classes definitions.
This adds: - :type options. - :documentation options. - :accessor options. - Class predicates. Wherever applicable.
Handle gracefully invalid link lines
`=>` without other fields is not a valid link line, so let's handle it by parsing it as a paragraph with the "=>" text in it.
support binary response body
see github issue #4
refactor the gemtext parser
The old one had various issue, for instance it failed to parse "#hello", and could mis-interpret lines starting with "=". The new one is more robust and handles optional spaces better.
add the line-eq generic function
it's useful for the (future) tests being able to compare lines.