Very neat! It's also possible to do this 100% statically without checking the user agent, by using alternate terminal buffers:
- `curl -L https://cole.ws` (my personal portfolio site) does this
It embeds the actual HTML inside an alternate terminal buffer (starting with `<!--\x1b[?1049h-->\r` and ending with `<!--\x1b[?1049l\x1b[3D\r`), and has the curl-able content appended to the end.When you curl it, it still writes the HTML to your terminal, but immediately clears that buffer and writes the ANSI version to your real screen. In browsers, this ANSI stuff is hidden in an HTML comment. This is useful for static sites on GitHub pages or something.
Something like Emails ? They can have both text and html version, its the client capabilities that determine what gets rendered like in cli mutt it will show text body, while gmail app/browser with rich documemt capability can render html