Have you even been tabbing through Tmux panes and suddenly thought:
I want to read Fire and Fury but how am I going to do that without taking my hand off the keyboard and touching a mouse like some kind of animal?!
Of course you have and that's why I wrote cli-worm.
In the name of laziness and the Unix philosophy, I leveraged existing projects to do the heavy lifting.
There is a great Node library called Blessed for building ncurses applications. It provides the perfect set of tools for the nostalgic goodness that is cli-worm.
This great page does a very good job explaining the epub format. Long story short, epubs are just zip files containing XML and HTML. Reading from a zip and parsing HTML is pretty trivial. The project is Open Source; so, take a look.
Finally for rendering the HTML is piped to W3M. This command line web browser is a well established project available in most distribution repositories.
Cli-worm can be installed using npm.
The npm installation method also requires the separate installation of node and w3m.
For easier installation the app is now available as a snap store
sudo snap install cli-worm --candidate