OK. This is a better way: define a custom TreeWalker which converts named entities to utf-8 as it goes. This avoids having to do an extra tree traversal in sanitize_rexml, AND avoids the trainwreck that is html5/inputstream.rb.
My REXML::Element.to_ncr (and REXML::Element.to_utf8) is horribly slow. For long documents, it proves more efficient to serialize to a string, apply String.to_ncr (or String.to_utf8) and then Sanitize the string.
Put in dummy macros for \statusline and \toggle.
Added colour definitions for HTML named colours.
Remaining unimplemented:
\color{#HHH} and \color{#HHHHHH}
\bgcolor
\array
\righttoleftarrow
\lefttorightarrow
The file upload dialog asks for a description of the image or file to be uploaded. Use this as the default alt-text for the image and as a title attribute for a file link.
Apparently, the form_spam_protect plugin only works with HTTP POST, not GET.
Unsafe operations (save and file-upload) should be POSTs anyway.
Fixed.
Also, two broken tests fixed. Only two Unit Tests now fail: both are minor bugs in XHTMLDiff.
The URIChunk and LocalURICunk handlers were
1) Slow
2) Buggy (prone to produce ill-formed pages in edge cases)
3) Of dubious utility
So I ditched them. No auto-linked URLs, but who cares?
Added the remaining LaTeX macros from our list.
What remains is to decide on how to resolve the conflicting definitions of
\binom{}{}
and to supply suitable characters for
\righttoleftarrow
\lefttorightarrow
The plain TeX syntax {A \over B} is unsupported (passed through verbatim, and will cause a LaTeX error).
Get rid of Redefined CONSTANT warning.
Make WEBrick respond to TERM signal. (Launchd, in particular, requires this.)
Rollback superfluous change to rails/actionpack/lib/action_controller/base.rb. Handled by the action_cache plugin.
Slide notes are now served correctly (as application/xhtml+xml) to compatible
browsers. So you can put math in your notes, and the MathML will render.
We don't do real content-negotioation. IE gets text/html; everyone else gets application/xhtml+xml.