Skip to main content

shoe-horn a web page into a single html file

Project description

Make HTML more self-contained by in-lining:

  • JavaScript (minified)
  • CSS (minified)
  • Images (base-64 encoded)
    • Including (explicitly linked) favicons

For straightforward cases, this will take an HTML document which might have external dependencies and return an HTML document with no external dependencies - a single self-contained file that you could send as an email attachment, or show as a presentation without worrying about internet connectivity, for example.

Cases that are not straightforward are those that involve loading things via JavaScript, iframe things, fonts, and things I haven’t thought of. Pull requests welcome!


Loaded as a module, selfcontain() takes an HTML string and base path or URL and is the main function to know. Command-line usage wraps the minor extension selfcontain_ref(), which takes a string specifying a file path or URL to fetch and process:

selfcontain test_in.html > test_out.html
# or
selfcontain > test_out.html

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for selfcontain, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size selfcontain-0.2.tar.gz (3.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page