Save a long article or documentation page as a clean, ad-free PDF for offline reading.
Bundle multiple web pages or an entire RSS feed into a single EPUB ebook.
Archive a blog series into a self-contained HTML file with embedded images for long-term storage.
Convert web documentation to Markdown for editing or re-publishing in another format.
Requires Node.js 14.17.0 or later, Puppeteer downloads a bundled Chromium browser on first install.
Percollate is a command-line tool that saves web pages as readable documents in your choice of format. You give it one or more URLs, and it fetches those pages, strips away the navigation bars, ads, and other clutter, and produces a clean PDF, EPUB, HTML, or Markdown file. It is the kind of tool you would use to save a long article for offline reading, archive a series of documentation pages into a single file, or convert a blog feed into an ebook. The tool runs from a terminal and is installed via npm, a standard package manager for JavaScript. The basic usage is straightforward: you type a command like percollate pdf https://example.com and specify where you want the output to go. You can pass multiple URLs to bundle them together into one file, or use a flag to get a separate file for each URL. It also supports reading RSS and Atom web feeds, treating each entry in the feed as a separate article. There are options for customizing the output, including adding a title, author name, cover page, and table of contents. You can also apply custom CSS styles to change how the PDF or HTML looks, and embed images directly into HTML files so the result is self-contained. For Markdown output, there are options that control formatting details like how emphasis and links are written. Under the hood, percollate uses a library called Readability (the same one behind Firefox Reader View) to extract the main content from a page, and Puppeteer to render and capture the output. This means it can handle pages that load content with JavaScript, not just simple static HTML. The project is installable globally from npm and requires Node.js version 14.17.0 or later. Community packages are also available for Arch Linux users through the Arch User Repository.
← danburzo on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.