diff --git a/README.md b/README.md new file mode 100644 index 0000000..9ba2333 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ + ▄████▄ ▄▄▄ ██▀███ ▄▄▄█████▓ ▄▄▄ ██████ ▄▄▄█████▓ ██▀███ ▄▄▄ ▄████▄ ▄████▄ ██▓ ▄▄▄ +▒██▀ ▀█ ▒████▄ ▓██ ▒ ██▒▓ ██▒ ▓▒▒████▄ ▒██ ▒ ▓ ██▒ ▓▒▓██ ▒ ██▒▒████▄ ▒██▀ ▀█ ▒██▀ ▀█ ▓██▒▒████▄ +▒▓█ ▄ ▒██ ▀█▄ ▓██ ░▄█ ▒▒ ▓██░ ▒░▒██ ▀█▄ ░ ▓██▄ ▒ ▓██░ ▒░▓██ ░▄█ ▒▒██ ▀█▄ ▒▓█ ▄ ▒▓█ ▄ ▒██▒▒██ ▀█▄ +▒▓▓▄ ▄██▒░██▄▄▄▄██ ▒██▀▀█▄ ░ ▓██▓ ░ ░██▄▄▄▄██ ▒ ██▒░ ▓██▓ ░ ▒██▀▀█▄ ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▒▓▓▄ ▄██▒░██░░██▄▄▄▄██ +▒ ▓███▀ ░ ▓█ ▓██▒░██▓ ▒██▒ ▒██▒ ░ ▓█ ▓██▒ ▒██████▒▒ ▒██▒ ░ ░██▓ ▒██▒ ▓█ ▓██▒▒ ▓███▀ ░▒ ▓███▀ ░░██░ ▓█ ▓██▒ +░ ░▒ ▒ ░ ▒▒ ▓▒█░░ ▒▓ ░▒▓░ ▒ ░░ ▒▒ ▓▒█░ ▒ ▒▓▒ ▒ ░ ▒ ░░ ░ ▒▓ ░▒▓░ ▒▒ ▓▒█░░ ░▒ ▒ ░░ ░▒ ▒ ░░▓ ▒▒ ▓▒█░ + ░ ▒ ▒ ▒▒ ░ ░▒ ░ ▒░ ░ ▒ ▒▒ ░ ░ ░▒ ░ ░ ░ ░▒ ░ ▒░ ▒ ▒▒ ░ ░ ▒ ░ ▒ ▒ ░ ▒ ▒▒ ░ +░ ░ ▒ ░░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ░ ▒ ░ ░ ▒ ░ ░ ▒ +░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ +░ ░ ░ + +# Carta Straccia is a RSS feed aggregator + +Written in D using [sumtype](https://code.dlang.org/packages/sumtype), +[pegged](https://code.dlang.org/packages/pegged), +[dxml](https://code.dlang.org/packages/dxml), +[htmld](https://code.dlang.org/packages/htmld) and [Vibe.d](https://vibed.org). + +## Features + +* Linux only (yep, it's a feature) +* Server/client architecture with simple CLI parameters +* Multi-tasking using Vibe.d's Tasks and the message passing model to + concurrently process multiple feeds +* **Single-file feeds configuration**, with separate, per-feed refresh interval +* Multiple endpoints support: Display the aggregated news in HTML, from the + command line (WIP) or edit `source/cartastraccia/endpoints.d` to add your + desired visualization + +## Installation + +Requires [Dub](https://github.com/dlang/dub): + +1. clone this repo: +``` +git clone https://github.com/gallafrancesco/cartastraccia.git +``` +2. build: +``` +dub build +``` + +You'll find the `cartastraccia` executable in the root project directory. + +## Usage + +CLI options and sample first usage: +``` +cartastraccia --help +``` + +For feeds configuration, see the sample `feeds.conf` file included. diff --git a/source/app.d b/source/app.d index e6d6202..ed8b985 100644 --- a/source/app.d +++ b/source/app.d @@ -28,7 +28,9 @@ import std.conv : to; import std.process; -immutable string info = asciiArt~" +immutable string info = " +============================================= +| Carta Straccia is a RSS feed aggregator | ============================================= 0. Write a feeds.conf file [feed_name refresh_timeout feed_url] > echo \"Stallman 3h https://stallman.org/rss/rss.xml\" > feeds.conf