Various (attempted) crash fixes.
Style <summary> as links, play the dading.
Allow linking to any element on a webpage, regardless of whether it has an ID
Style visited links (dading quieter).
Remove global variable, move to Page field.
Improve Gemini support, upgrade HURL, log history records.
Make '#' refer to top of page.
Extend MIMEtype dispatch to support alternative stylesheets.
Implement :target pseudoclass.
Defaults to <main> to further avoid excess clutter from pages.
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.
Download CSS assets, including new useragent audio cues.
Audio cues are public domain from freesound.org and archive.org via elementary OS's sound theme.
Export C APIs from files defining underlying functions.