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.
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.
~% instead of terpri
we need to terminate the line on the given stream, not on *standard-output*!
Merge pull request #1 from aartaka/blockquote
Add blockquote support.
revert the relative-to hack
was added only to ease the job of the UI, but it isn’t the right place. The UI should do that type of checks, the parsers shouldn’t mangle URIs.