Chawan Text Based Browser With CSS and JS SupportPermalink

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.

Screenshot of Chawan displaying my homepage on wezm.net.
Screenshot of Chawan displaying my home page.