An Emacs package that simplifies web pages, so they render correctly in the Emacs Web Browser

Emacs is a text-based editor, but the modern web isn't very text-based. Javascript, visual applications, it's all too much and I don't like it.
This package uses machine learning to translate modern HTML into the much older style of the 1990s. Simple HTML with simple, well labeled tags, that load well in the emacs browser.
There are two ways to use this repository -- program generation mode (recommended), and a la carte mode.
mkdir -p ~/.emacs.d && cd $_
git clone https://github.com/sstraust/simpleweb.git
(setenv "CLAUDE_CLI_PATH" "path to your claude")
you will also need to install firefox and geckodriver
Add the following to your .emacs file:
(add-to-list 'load-path "~/.emacs.d/simpleweb")
(require 'simpleweb-process-url)
(simpleweb-initialize-program-generation)
mkdir -p ~/.emacs.d && cd $_
git clone https://github.com/sstraust/simpleweb.git
sudo apt install python3-pip
pip install openai
pip install google-generativeai
pip install --upgrade requests
(setenv "GEMINI_API_KEY" "your_api_key")
to your .emacs file
Add the following to your .emacs file:
(add-to-list 'load-path "~/.emacs.d/simpleweb")
(require 'simpleweb-process-url)
(simpleweb-initialize)
There's two ways you can use this library, and it works like this:
In general, program generation takes a long time initially, but is much faster in the long run. By default, the process of generating programs runs in the background, so that it does not block your browsing experience (i.e. if no modifier program exists, we load the page as-normal, and then create a new modifier program in the background).
Program generation relies on the browser's default sandboxing to run the LLM generated code.
In general, program generation mode is best when you visit the same kinds of sites frequently (i.e. Clojure docs pages), and a. la. carte mode is best when every site is different (i.e. browsing random links from HN).
Notes on program-generation mode:
If you don't want to turn it on for every load, you can use the command simpleweb-simplify-page from inside a eww buffer insted.
If you don't want to turn this on for every request, you can call simpleweb-simplify-page, to load the simplification for only one specific webpage.
By default, this uses program-generation, if it is already generated, and if not, it returns the original page, and kicks off program-generation in the background.
Delete the program used to modify this page.
Customizable var. The directory to use to store the generated programs.
debugging: if things don't happen the way you expect them to
check the *Messages* and the *simplify-web-server* buffer.
This is a new feature that's still a little unpolished, so feel free to reach out directly if you have any problems getting it up and running.
Clojure
67.5%
Emacs Lisp
32.5%
An Emacs package that simplifies web pages, so they render correctly in the Emacs Web Browser

Emacs is a text-based editor, but the modern web isn't very text-based. Javascript, visual applications, it's all too much and I don't like it.
This package uses machine learning to translate modern HTML into the much older style of the 1990s. Simple HTML with simple, well labeled tags, that load well in the emacs browser.
There are two ways to use this repository -- program generation mode (recommended), and a la carte mode.
mkdir -p ~/.emacs.d && cd $_
git clone https://github.com/sstraust/simpleweb.git
(setenv "CLAUDE_CLI_PATH" "path to your claude")
you will also need to install firefox and geckodriver
Add the following to your .emacs file:
(add-to-list 'load-path "~/.emacs.d/simpleweb")
(require 'simpleweb-process-url)
(simpleweb-initialize-program-generation)
mkdir -p ~/.emacs.d && cd $_
git clone https://github.com/sstraust/simpleweb.git
sudo apt install python3-pip
pip install openai
pip install google-generativeai
pip install --upgrade requests
(setenv "GEMINI_API_KEY" "your_api_key")
to your .emacs file
Add the following to your .emacs file:
(add-to-list 'load-path "~/.emacs.d/simpleweb")
(require 'simpleweb-process-url)
(simpleweb-initialize)
There's two ways you can use this library, and it works like this:
In general, program generation takes a long time initially, but is much faster in the long run. By default, the process of generating programs runs in the background, so that it does not block your browsing experience (i.e. if no modifier program exists, we load the page as-normal, and then create a new modifier program in the background).
Program generation relies on the browser's default sandboxing to run the LLM generated code.
In general, program generation mode is best when you visit the same kinds of sites frequently (i.e. Clojure docs pages), and a. la. carte mode is best when every site is different (i.e. browsing random links from HN).
Notes on program-generation mode:
If you don't want to turn it on for every load, you can use the command simpleweb-simplify-page from inside a eww buffer insted.
If you don't want to turn this on for every request, you can call simpleweb-simplify-page, to load the simplification for only one specific webpage.
By default, this uses program-generation, if it is already generated, and if not, it returns the original page, and kicks off program-generation in the background.
Delete the program used to modify this page.
Customizable var. The directory to use to store the generated programs.
debugging: if things don't happen the way you expect them to
check the *Messages* and the *simplify-web-server* buffer.
This is a new feature that's still a little unpolished, so feel free to reach out directly if you have any problems getting it up and running.
Clojure
67.5%
Emacs Lisp
32.5%