commit
2762bc5086
1 changed files with 40 additions and 21 deletions
61
README.md
61
README.md
|
@ -4,7 +4,36 @@
|
||||||
|
|
||||||
Paperoni is a web article downloader written in Rust. The downloaded articles are then exported as EPUB files.
|
Paperoni is a web article downloader written in Rust. The downloaded articles are then exported as EPUB files.
|
||||||
|
|
||||||
> This project is in an alpha release so it is pretty unstable.
|
> This project is in an alpha release so it might crash when you use it. Please open an [issue on Github](https://github.com/hipstermojo/paperoni/issues/new) if it does crash.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Precompiled binaries
|
||||||
|
|
||||||
|
Check the [releases](https://github.com/hipstermojo/paperoni/releases) page for precompiled binaries. Currently there are only builds for Debian and Arch.
|
||||||
|
|
||||||
|
### Installing from crates.io
|
||||||
|
|
||||||
|
Paperoni is published on [crates.io](https://crates.io). If you have [cargo](https://github.com/rust-lang/cargo) installed, then run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cargo install paperoni --version 0.3.0-alpha1
|
||||||
|
```
|
||||||
|
|
||||||
|
_Paperoni is still in alpha so the `version` flag has to be passed._
|
||||||
|
|
||||||
|
### Building from source
|
||||||
|
|
||||||
|
This project uses `async/.await` so it should be compiled using a minimum Rust version of 1.33. Preferrably use the latest version of Rust.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/hipstermojo/paperoni.git
|
||||||
|
cd paperoni
|
||||||
|
## You can build and install paperoni locally
|
||||||
|
cargo install --path .
|
||||||
|
## or use it from within the project
|
||||||
|
cargo run -- # pass your url here
|
||||||
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -24,12 +53,21 @@ Alternatively, if you are on a Unix-like OS, you can simply do something like th
|
||||||
cat links.txt | xargs paperoni
|
cat links.txt | xargs paperoni
|
||||||
```
|
```
|
||||||
|
|
||||||
These can also be read from a file using the `-f` flag.
|
These can also be read from a file using the `-f/--file` flag.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
paperoni -f links.txt
|
paperoni -f links.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Merging articles
|
||||||
|
|
||||||
|
By default, Paperoni generates an epub file for each link. You can also merge multiple links
|
||||||
|
into a single epub using the `merge` flag and specifying the output file.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
paperoni -f links.txt --merge out.epub
|
||||||
|
```
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
The URL passed to Paperoni is fetched and the returned HTML response is passed to the extractor.
|
The URL passed to Paperoni is fetched and the returned HTML response is passed to the extractor.
|
||||||
|
@ -44,22 +82,3 @@ This program is still in alpha so a number of things won't work:
|
||||||
- Websites that only run with JavaScript cannot be extracted.
|
- Websites that only run with JavaScript cannot be extracted.
|
||||||
- Website articles that cannot be extracted by Readability cannot be extracted by Paperoni either.
|
- Website articles that cannot be extracted by Readability cannot be extracted by Paperoni either.
|
||||||
- Code snippets on Medium articles that are lazy loaded will not appear in the EPUB.
|
- Code snippets on Medium articles that are lazy loaded will not appear in the EPUB.
|
||||||
|
|
||||||
## Running locally
|
|
||||||
|
|
||||||
### Precompiled binaries
|
|
||||||
|
|
||||||
Check the [releases](https://github.com/hipstermojo/paperoni/releases) page for precompiled binaries. Currently there are only builds for Debian and Arch.
|
|
||||||
|
|
||||||
### Building from source
|
|
||||||
|
|
||||||
This project uses `async/.await` so it should be compiled using a minimum Rust version of 1.33. Preferrably use the latest version of Rust.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git clone https://github.com/hipstermojo/paperoni.git
|
|
||||||
cd paperoni
|
|
||||||
## You can build and install paperoni locally
|
|
||||||
cargo install --path .
|
|
||||||
## or use it from within the project
|
|
||||||
cargo run -- # pass your url here
|
|
||||||
```
|
|
||||||
|
|
Loading…
Reference in a new issue