Chawan is a web browser for your terminal implemented in Nim:
Currently implemented features are:
- multi-processing, incremental loading of documents
- multi-charset, double-width aware text display (but no bi-di yet)
- HTML5 support, forms, cookies
- CSS-based layout engine: supports flow layout, table layout, flexbox layout
- user-programmable keybindings (defaults are vi(m)-like)
- basic JavaScript support in documents (disabled by default for security reasons)
- supports several protocols: HTTP(S), FTP, Gopher, Gemini, Finger, etc.
- user-defined protocols and file formats
- markdown viewer, man page viewer
- sixel/kitty image support
- mouse support
- syscall sandboxing on FreeBSD, OpenBSD and Linux (through capsicum, pledge and seccomp-bpf)
I tried it out on my personal blog and it produced a very respectable rendering of the home page. Including the header and flexbox side bar.