Cursed idea: serve a Git repository as pages and use the Git repository revision as the ETag value for all of the pages. Hey, it's perfectly specification valid AFAIK, and you can just cache or store the current revision on startup (or checkout). Cryptographically hashing your file contents? Inspecting stat() results and doing things with them? Why bother. The Git revision's right there.
I'd say "free to a good home" but this idea is definitely not going to a *good* home. A fun one, maybe.