GitHub

SingleFile Project Description

What is the project about?

SingleFile is a browser extension (and CLI tool) that allows users to save a complete webpage, including all its assets (images, CSS, fonts, etc.), into a single HTML file.

What problem does it solve?

It solves the problem of archiving web pages in a way that preserves their appearance and functionality offline. It avoids the issues of broken links, missing images, or altered layouts that can occur when saving pages using a browser's built-in "Save As" feature (which often creates a folder with multiple files).

What are the features of the project?

  • Saves a complete webpage into a single HTML file.
  • One-click saving via the extension toolbar button.
  • Context menu options for saving selected content, frames, or multiple tabs.
  • Annotation features (highlighting, notes, content removal) before saving.
  • Auto-save functionality.
  • Option to upload saved pages to Google Drive or GitHub.
  • Option to add proof of existence to saved pages using blockchain.
  • Customizable keyboard shortcut.
  • CLI tool available for command-line usage.
  • Integration with user scripts.
  • Minifies HTML and CSS, and removes unused styles.

What are the technologies used in the project?

  • HTML
  • CSS
  • JavaScript
  • Web Extension APIs (for browser integration)
  • Various third-party libraries (e.g., csstree, postcss, UglifyCSS, Readability)
  • Blockchain (optional, for proof of existence)

What are the benefits of the project?

  • Simplified web page archiving.
  • Offline access to saved web pages.
  • Preservation of page layout and functionality.
  • Easy sharing of saved pages as single files.
  • Reduced clutter compared to saving pages with multiple files.
  • Integration with cloud storage and other services.

What are the use cases of the project?

  • Archiving articles, documentation, or research materials.
  • Saving web pages for offline reading.
  • Creating backups of important web content.
  • Sharing web pages with others without worrying about broken links.
  • Capturing web page snapshots for documentation or testing purposes.
  • Integrating with other tools like Zotero, Obsidian, and Trilium Notes.
SingleFile screenshot