Skip to content

Releases: jimwins/frozen-soup

Handle <base> and specifying selectors to knock out (redux)

30 Mar 00:22
Compare
Choose a tag to compare

This now properly handles including URLs based on a <base> tag, and there's a new knockouts parameter (or repeatable --knockout command line option) that allows specifying CSS selectors to be removed from the output HTML. This could be useful for removing popups or ads, for example.

(Forgot to bump the version number in pyproject.toml, so this is a re-do of 0.4 with that fixed.)

Handle <base> and specifying selectors to knock out

29 Mar 23:53
Compare
Choose a tag to compare

This now properly handles including URLs based on a <base> tag, and there's a new knockouts parameter (or repeatable --knockout command line option) that allows specifying CSS selectors to be removed from the output HTML. This could be useful for removing popups or ads, for example.

Now with timeouts! (redux)

08 Mar 01:09
Compare
Choose a tag to compare
Pre-release

Added a timeout parameter for freezing a URL, stopped mangling pre-existing data: URLs, and added a quick-and-dirty server that makes it a little easier to experiment.

(The GitHub Action for publishing releases still had Python 3.8 testing in it, so this is a re-do of 0.2 with that removed.)

Now with timeouts!

08 Mar 00:59
Compare
Choose a tag to compare
Now with timeouts! Pre-release
Pre-release

Added a timeout parameter for freezing a URL, stopped mangling pre-existing data: URLs, and added a quick-and-dirty server that makes it a little easier to experiment.

Initial release

07 Mar 20:02
Compare
Choose a tag to compare
Initial release Pre-release
Pre-release

This is a initial proof of concept that will download a URL, assume it is HTML, run it through Beautiful Soup and process every <link>, <script>, and <img> to either include external resources (CSS and JS) or turn them into a data: URL. It also further processes CSS to turn url(...) into url(data:...).

This pulls in everything, without timeouts, and fails hard if anything doesn't work as expected. There is a bunch of basic functionality that should be implemented before this is used for anything other than playing around.