Doh! I forgot about File and friends.
That is one way for the user to do so,
and a good one too.
I'd actually slightly mangled the module
logic in my head there (the test for gz suffix).
I'd recommend giving an example of that in
the documentation
(BTW MS uses CHTML for compiled HTML, there's also
cHTML - compact HTML).
Also, you might want to remove the test for
gz extension and look for magic a la file(1).
It's more UN*Xy, even if it is more expensive.