diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..869df07 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +Cargo.lock \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..970d6ad --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "rssto" +version = "0.1.0" +edition = "2024" +license = "MIT" +readme = "README.md" +description = "Aggregate RSS feeds into different formats" +keywords = ["rss", "aggregator", "convertor", "conversion", "static"] +categories = ["command-line-utilities", "parsing", "text-processing", "value-formatting"] +repository = "https://github.com/YGGverse/rssto" + +[dependencies] +anyhow = "1.0" +chrono = "0.4" +clap = { version = "4.5", features = ["derive"] } +reqwest = { version = "0.12", features = ["blocking"] } +rss = "2.0" diff --git a/README.md b/README.md index c4dbc40..2c739db 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,86 @@ # rssto -Aggregate RSS feeds into different formats + +![Build](https://github.com/YGGverse/rssto/actions/workflows/build.yml/badge.svg) +[![Dependencies](https://deps.rs/repo/github/YGGverse/rssto/status.svg)](https://deps.rs/repo/github/YGGverse/rssto) +[![crates.io](https://img.shields.io/crates/v/rssto.svg)](https://crates.io/crates/rssto) + +## Aggregate RSS feeds into different formats + +A simple multi-source feed aggregator that outputs static files in multiple formats. + +## Roadmap + +* [x] HTML +* [ ] Markdown +* [ ] Gemtext + +## Install + +``` bash +cargo install rssto +``` + +## Launch + +``` bash +rssto --source https://path/to/source1.rss\ + --target /path/to/source1dir\ + --source https://path/to/source2.rss\ + --target /path/to/source2dir\ + --format html +``` + +### Options + +``` bash +-d, --debug Show output (`d` - debug, `e` - error, `i` - info) [default: ei] +-f, --format Export formats (`html`,`md`,etc.) [default: html] +-l, --limit Limit channel items (unlimited by default) +-s, --source RSS feed URL(s) + --target Destination directory + --template