CLI tool and library for saving complete web pages as a single, self-contained HTML file.
Monolith is a CLI tool and library that saves complete web pages as a single HTML file by embedding all assets—CSS, images, and JavaScript—directly into the document. It solves the problem of fragmented web page saves, ensuring the page renders identically offline. This makes it ideal for archiving, sharing, and offline viewing of web content.
Developers, researchers, data hoarders, and anyone needing reliable offline access to web pages or wanting to archive web content in a portable, self-contained format.
Unlike traditional save methods or tools like wget, Monolith creates truly standalone HTML files that work offline without external dependencies, offering a simple, reliable way to preserve web pages exactly as they appear online.
⬛️ CLI tool and library for saving complete web pages as a single HTML file
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inlines CSS, images, and JavaScript as data URLs within the HTML, ensuring the saved page renders identically offline as it did online, as highlighted in the README's comparison to wget.
Offers whitelisting (-d) and blacklisting (-B) options for asset retrieval, allowing users to restrict or allow specific domains, which is useful for filtering content.
Produces standalone HTML files that work without network access, making it ideal for data preservation and sharing, as emphasized in the project's philosophy.
Available through numerous package managers like Cargo, Homebrew, and Snapcraft, simplifying setup on various operating systems, as detailed in the Installation section.
Lacks native JavaScript execution, so dynamic content that loads after initial page render isn't captured without external tools like Chromium, as admitted in the Dynamic Content section.
Embedding all assets as data URLs can result in large HTML files, which may be inefficient for storage and slow to load, especially for media-rich pages.
For JavaScript-heavy sites, users must manually integrate tools like Chromium as a pre-processor, adding complexity and extra steps to the workflow.