Fix markers misserialization.
Ensure marker counters are incremented.
Propagate local attrs through to output.
Read <progress> as a percentage, that's more international.
eSpeak can trivially localize this to it's various locales.
Extend MIMEtype dispatch to support alternative stylesheets.
Catch more cases of consecutive breaks.
Collapse consecutive breaks again.
FIXME: Collapse when one <break> is inside another tag.
Implement :target pseudoclass.
Defaults to <main> to further avoid excess clutter from pages.
Implement new -rhaps-marker property for controlling user interaction.
Extensively refactor to use the CSS engine's counters implementation.
Take advantage of new Haskell Stylist assets & pseudoclass filters.
Refactor Rhapsode to use new HURL APIs and more leniantly handle MIMEtypes.
Serve link.wav with correct MIMEtype.
I converted it to audio/vnd.wav but without updating the metadata
another check concluded eSpeak-NG wouldn't be able to play it.
update Accepts header for CSS assets.
Output audio cues in live speech.
Turned out I was overcomplicating things, all I needed to do was use file paths not URIs.
eSpeak NG handled it from there.
Don't delete downloads, was happening before use.
Allow disabling of URL rewriting for SSML output.