Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A command-line tool to turn web pages into readable PDF, EPUB, HTML, or Markdown docs.
| Date | Stars |
|---|---|
| 2026-07-24 | 4659 |
| 2026-07-25 | 4659 |
| 2026-07-28 | 4659 |
| 2026-07-30 | 4659 |
| 2026-08-06 | 4659 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<img src='./.github/percollate.svg' alt='percollate' width='200'/>
<a href="https://www.npmjs.org/package/percollate"><img src="https://img.shields.io/npm/v/percollate.svg?style=flat-square&labelColor=324A97&color=black" alt="npm version"></a>
Percollate is a command-line tool that turns web pages into beautifully formatted PDF, EPUB, HTML or Markdown files.
<figure style='margin: 1rem 0'>
<img alt="Sample Output" src="./.github/dimensions-of-colour.png">
<figcaption style='font-style: italic'>Sample spread from the generated PDF of <a href='http://www.huevaluechroma.com/072.php'>a chapter in Dimensions of Colour</a>; rendered here in black & white for a smaller image file size.</figcaption>
</figure>
- [Installation](#installation)
- [Usage](#usage)
- [Available commands](#available-commands)
- [Available options](#available-options)
- [Recipes](#recipes)
- [Basic bundling](#basic-bundling)
- [Web feeds](#web-feeds)
- [The `--css` option](#the---css-option)
- [The `--style` option](#the---style-option)
- [The `--template` option](#the---template-option)
- [How it works](#how-it-works)
- [Updating](#updating)
- [Limitations](#limitations)
- [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
- [See also](#see-also)
## Installation
`percollate` is a Node.js command-line tool which you can install globally from npm:
```bash
npm install -g percollate
```
Percollate and its dependencies **require Node.js 14.17.0** or later.
#### Community-maintained packages
There's [a packaged version](https://aur.archlinux.org/packages/nodejs-percollate/) available on [Arch User Repository](https://wiki.archlinux.org/index.php/Arch_User_Repository), which you can install using your local [AUR helper](https://wiki.archlinux.org/index.php/AUR_helpers) (`yay`, `pacaur`, or similar):
```
yay -S nodejs-percollate
```
Some Docker images are available in this [tracking issue](https://github.com/danburzo/percollate/issues/95).
## Usage
> Run `percollate --help` for a list of available commands and options.
Percollate is invoked on one or more operands (usually URLs):
```bash
percollate <command> [options] url [url]...
```
The following commands are available:
- `percollate pdf` produces a PDF file;
- `percollate epub` produces an EPUB file;
- `percollate html` produces a HTML file.
- `percollate md` produces a Markdown file.
The operands can be URLs, paths to local files, or the `-` character which stands for `stdin` (the standard inputs).
### Available options
Unless otherwise stated, these options apply to all three commands.
#### `-o, --output`
Specify the path of the resulting bundle relative to the current folder.
```bash
percollate pdf https://example.com -o my-example.pdf
```
#### `-u, --url`
Using the `-` operand you can read the HTML content from `stdin`, as fetched by a separate command, such as `curl`. In this sort of setup, `percollate` does not know the URL from which the content has been fetched, and relative paths on images, anchors, et cetera won't resolve correctly.
Use the `--url` option to supply the source's original URL.
```bash
curl https://example.com | percollate pdf - --url=https://example.com
```
#### `-w, --wait`
By default, percollate processes URLs in parallel. Use the `--wait` option to process them sequentially instead, with a pause between items. The delay is specified in seconds, and can be zero.
```bash
percollate epub --wait=1 url1 url2 url3
```
#### `--individual`
By default, percollate bundles all web pages in a single file. Use the `--individual` flag to export each source to a separate file.
```bash
percollate pdf --individual http://example.com/page1 http://example.com/page2
```
#### `--template`
Path to a custom HTML template. Applies to `pdf`, `html`, and `md`.
#### `--style`
Path to a custom CSS stylesheet, relative to the current folder.
#### `--css`
Additional CSS styles you can pass fExcerpt of 18,157 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:79a6bbd6498e40c3, topic:puppeteer