mirror of
https://github.com/YGGverse/rssto.git
synced 2026-03-31 09:05:29 +00:00
initial commit
This commit is contained in:
parent
fc4f0d6d1c
commit
0506b4dcb2
11 changed files with 455 additions and 1 deletions
86
README.md
86
README.md
|
|
@ -1,2 +1,86 @@
|
|||
# rssto
|
||||
Aggregate RSS feeds into different formats
|
||||
|
||||

|
||||
[](https://deps.rs/repo/github/YGGverse/rssto)
|
||||
[](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 <DEBUG> Show output (`d` - debug, `e` - error, `i` - info) [default: ei]
|
||||
-f, --format <FORMAT> Export formats (`html`,`md`,etc.) [default: html]
|
||||
-l, --limit <LIMIT> Limit channel items (unlimited by default)
|
||||
-s, --source <SOURCE> RSS feed URL(s)
|
||||
--target <TARGET> Destination directory
|
||||
--template <TEMPLATE> Path to template directory [default: template]
|
||||
--time-format <TIME_FORMAT> Use custom time format [default: "%Y/%m/%d %H:%M:%S %z"]
|
||||
-u, --update <UPDATE> Update timeout in seconds [default: 60]
|
||||
-h, --help Print help
|
||||
-V, --version Print version
|
||||
```
|
||||
|
||||
### Autostart
|
||||
|
||||
#### systemd
|
||||
|
||||
1. Install `rssto` by copy the binary compiled into the native system apps destination:
|
||||
|
||||
* Linux: `sudo cp /home/user/.cargo/bin/rssto /usr/local/bin`
|
||||
|
||||
2. Create `systemd` configuration file:
|
||||
|
||||
``` rssto.service
|
||||
# /etc/systemd/system/rssto.service
|
||||
|
||||
[Unit]
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=rssto
|
||||
Group=rssto
|
||||
ExecStart=/usr/local/bin/rssto --source https://path/to/source1.rss\
|
||||
--target /path/to/source1dir\
|
||||
--source https://path/to/source2.rss\
|
||||
--target /path/to/source2dir\
|
||||
--format html
|
||||
--time-format %%Y/%%m/%%d %%H:%%M:%%S
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
* on format time, make sure `%` is escaped to `%%`
|
||||
|
||||
3. Run in priority:
|
||||
|
||||
* `systemctl daemon-reload` - reload systemd configuration
|
||||
* `systemctl enable rssto` - enable new service
|
||||
* `systemctl start rssto` - start the process
|
||||
* `systemctl status rssto` - check process launched
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue