I wrote an HTML renderer [0] as part of euporie [1], which I'm planning on eventually spinning into a new terminal browser (but it needs a bit more work first).
There's no JS support, but a good chunk of CSS is implemented, and images are displayed using terminal graphics if your terminal supports it.
You can try it out by passing a URL to `euporie-notebook`.
Though I realize it's currently offline, can I just say how refreshing it is to see the mention of a live ssh demo with no authentication needed? I wish more tools had such a friction free way to try them.
Please refrain from writing comments like these. From the HN guidelines
Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
Actually Github has become recently more difficult to browse with the text-only browser I use. They keep messing with the HTML and breaking this simple structure.
I just download the .zip files and browse offline.
and it doesnt show the project language(s), the first thing i do when checking a repo on github is to check the languages used, and usually this help me decided whether or not i want to follow this project or not
ocaml, f#, clojure, zig, raku, array language --> insta follow
Neat! Very handy for looking up issues remotely. It has a dependency on firefox, but on systems that have Nix, that shouldn't be too much of a problem.
Are you projecting? The point is to be able to use the modern web in all of its spectacular complexity, from within a text-based terminal. Which goal it actually achieves!
It's neat yes. But prevents it being used on a headless server without graphics installed. That's primarily where I'd use a text browser... need to download a package/archive but also need to search for it first.
This can, however, be run entirely inside of Docker - something I’ve done numerous times on a remote sever. This even allows for the web interface to be used, though that kind of defeats the purpose.
Could you share why it misses the point according to you?
On the website the following use-case is mentioned:
> run firefox remotely in order to "significantly reduce bandwidth and thus both increase browsing speeds and decrease bandwidth costs."
Another use-case would be running firefox on a remote server with just enough power while using ssh on a smaller, weaker, device (raspbery pi like, an old smartphone with termux, very old hardware, ...).
It's hard to build a browser engine, especially if you intend to support a seemless modern web experience (and thus with javascript, unlike all the text-browsers out there). Some even argue it's not possible to build a modern web browser engine anymore [1].
I think it's the point for browsh to rely on another piece of software that will focus on just that (headless firefox).
Browsh is described as a "text-based browser", but under the hood, a more technical accurate way to summarize it would be "a software to stream a remote firefox in your terminal". The concept (and why it saves bandwitch) is detailed on the docs section "What is browsh?" [2].
If you only have a 3kbps internet connection tethered from a phone, then it's good to SSH into a server and browse the web through, say, elinks. That way the server downloads the web pages and uses the limited bandwidth of an SSH connection to display the result. However, traditional text-based browsers lack JS and all other modern HTML5 support. Browsh is different in that it's backed by a real browser, namely headless Firefox, to create a purely text-based version of web pages and web apps. These can be easily rendered in a terminal or indeed, ironically, in another browser. Do note that currently the browser client doesn't have feature parity with the terminal client.
There's no JS support, but a good chunk of CSS is implemented, and images are displayed using terminal graphics if your terminal supports it.
You can try it out by passing a URL to `euporie-notebook`.
[1] https://github.com/joouha/euporie/blob/dev/euporie/core/ft/h...
[0] https://github.com/joouha/euporie