GithubHelp home page GithubHelp logo

veeso / tuifeed Goto Github PK

View Code? Open in Web Editor NEW
108.0 2.0 8.0 3.77 MB

๐Ÿ“ฐ A terminal feed reader with a fancy ui

License: MIT License

Rust 93.59% Shell 6.41%
rss command-line-interface command-line-utility command-line-utilities feed-reader feed rust rust-crate

tuifeed's Introduction

tuifeed

~ A terminal news feed reader with a fancy ui ~

Developed by @veeso

Current version: 0.3.2 (30/08/2022)

License-MIT Repo stars Downloads counter Latest version Ko-fi

Linux CI MacOS Windows Coveralls



About tuifeed ๐Ÿ“ฐ

tuifeed is a news feed reader with a fancy terminal user interface. It allows you read news from your favourite RSS and Atom sources, which can be easily configured in a TOML file.

Demo

Features ๐ŸŽ

  • ๐Ÿ“ฐ Read feed from any RSS/Atom source
  • ๐ŸŒ Open any article in your favourite browser in one-click
  • ๐Ÿง Compatible with Windows, Linux, *BSD and MacOS
  • ๐Ÿค– Easy setup
  • ๐Ÿฆ€ Rust-powered

Get started ๐Ÿ

Installation ๐Ÿš€

Shell script ๐Ÿ–ฅ๏ธ

curl --proto '=https' --tlsv1.2 -sSLf "https://git.io/J1O0Z" | sh

โš ๏ธ this method is supported for the following operating systems:

  • ๐Ÿง GNU/Linux
  • ๐ŸŽ MacOS
  • ๐Ÿšฉ NetBSD

๐Ÿ”ด If you don't trust the script, you can view its content on Github

FreeBSD users

Install via pkg:

pkg install tuifeed

Windows users ๐Ÿซ

Install via Chocolatey:

choco install tuifeed

Cargo installation ๐Ÿ“ฆ

cargo install --locked tuifeed

Configure your news feed

Once installed, in order to start using tuifeed, the first thing you need to do is to configure the feeds you want to read from.

To open the configuration file you can run

tuifeed -c

this will open the configuration file in your favourite editor.

๐Ÿ’ก If this option doesn't work for you, you can edit the file manually at:

  • $XDG_CONFIG_HOME/tuifeed/config.toml on Linux
  • /Users/$USER/Library/Application\ Support/tuifeed/config.toml on MacOS

then you can add new sources as follows:

[sources]
"Cointelegraph" = "https://it.cointelegraph.com/rss"
"Corriere Della Sera" = "http://xml2.corriereobjects.it/rss/homepage.xml"
"Friuli Oggi" = "https://www.friulioggi.it/feed/"
"Il Piccolo" = "https://ilpiccolo.gelocal.it/rss/finegil/ilpiccolo/feed.rss"
"Il Post (Mondo)" = "https://www.ilpost.it/mondo/feed/"
"Il Post (Italia)" = "https://www.ilpost.it/italia/feed/"
"Messaggero Veneto" = "https://messaggeroveneto.gelocal.it/rss/finegil/messaggeroveneto/feed.rss"

so for each feed you want to read from, you must put an entry with a key, which identifies the Name of the source as it'll be displayed in the UI associated to the URL of the feed.

๐Ÿ’ก If you want to use special characters in toml you can quote the key name: "Il Post (Mondo)" = "https://www.ilpost.it/mondo/feed/"

Once you're done with configuration, save, close and enjoy tuifeed ๐Ÿ˜„

Configure your display options

You can optionally configure some display options in the UI.

To open the configuration file you can run

tuifeed -c

this will open the configuration file in your favourite editor.

๐Ÿ’ก If this option doesn't work for your, you can edit the file manually at:

  • $XDG_CONFIG_HOME/tuifeed/config.toml on Linux
  • /Users/$USER/Library/Application\ Support/tuifeed/config.toml on MacOS

Then you can configure the following keys

[article-title]
show-author = false
show-timestamp = true
  • show-author: display the author name before the article title in the articles list
  • show-timestamp: display the timestamp before the article title in the articles list

The key order in the article list name is:

  1. timestamp
  2. author
  3. title

Once you're done with configuration, save, close and enjoy tuifeed ๐Ÿ˜„


Keybindings โŒจ๏ธ

Key Where Description
Tab, Right Feed list Move to article list
Up, Down, PageUp, PageDown Feed list, article list Scroll up/down in list
Home, End Feed list, article list Go to the beginning/end of the list
R Feed list Reload selected source
CTRL+R Feed list Reload all sources
Tab, Left Article list Move to feed list
Right Article list Move to article summary
Left Article summary Move to article list
Up, Down, PageUp, PageDown Article summary Scroll up/down in summary
Home, End Article summary Go to the beginning/end of summary
Enter Article summary, article link Open selected article url in your favourite browser
Esc * Quit tuifeed

Support the developer โ˜•

If you like tuifeed and you're grateful for the work I've done, please consider a little donation ๐Ÿฅณ

You can make a donation with one of these platforms:

ko-fi PayPal


Powered by ๐Ÿ’ช


Contributing and issues ๐Ÿค๐Ÿป

Contributions, bug reports, new features and questions are welcome! ๐Ÿ˜‰ If you have any question or concern, or you want to suggest a new feature, or you want just want to improve tuifeed, feel free to open an issue or a PR.

Please follow our contributing guidelines


Changelog โณ

View tuifeed's changelog HERE


License ๐Ÿ“ƒ

tuifeed is licensed under the MIT license.

You can read the entire license HERE

tuifeed's People

Contributors

grtcdr avatar imgbotapp avatar veeso avatar yonas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tuifeed's Issues

Packaged for NixOS

Hi, not really a question, but I figured you'd like to know that I've packaged tuifeed for NixOS

Thank you for tuifeed! Ciao!

Implement dates

Hi,

NetBSD package maintainer here. I'm currently using neix for feeds from project I maintain packages for.
neix is no longer maintained and I would like to move to tuifeed, also because I could drop ncursesw from my system doing so.

There's a feature that stops me from doing that. neix displays dates, which is rather useful info for a package maintainer.
See screenshot

Would this be something that could be implemented? And, are you willing to do so?

It can't load DigiTimes' feed

Description

tuifeed fails to load DigiTimes news feed

Steps to reproduce

Add https://www.digitimes.com/rss/daily.xml feed and run tuifeed

"DIGITIMES" = "https://www.digitimes.com/rss/daily.xml"

Expected behaviour

Load the feed and list feed contents.

Error shown

tuifeed show the following error

Could not fetch feed "DIGITIMES": HTTP request failed: https://www.digitimes.com/rss/daily.xml: Connection Failed: An existing
connection was forcibly closed by the remote host. (os error 10054)

Environment

  • OS: Windows 10 x64
  • Architecture x86_64
  • Rust version: ?
  • tuifeed version: 0.1.0

[BUG] - Malformed URL: https://geohot.github.io//blog/jekyll/update/2022/04/

Description

Steps to reproduce

Add the source

echo -e "GeorgeHotz = \"https://geohot.github.io/blog/feed.xml\""|tee -a ~/.config/tuifeed/config.toml &&
tuifeed

Copy the url from the lower right corner. It is https://geohot.github.io//blog/jekyll/update/2022/04/
instead of https://geohot.github.io/blog/jekyll/update/2022/04/16/vampire-attack-twitter.html

Expected behaviour

It is https://geohot.github.io//blog/jekyll/update/2022/04/
instead of https://geohot.github.io/blog/jekyll/update/2022/04/16/vampire-attack-twitter.html
The other sites work fine. Is it George's fault or the feed reader's fault?

Environment

  • OS: Ubuntu 20.04 Desktop

Highlight changes

๐Ÿ‘‹๐Ÿป

Not sure if this is already possible, or isn't a focus of this tool, but it would be nice if there was a visual aid to help identify new articles published.

It looks like currently articles are changed daily, so for example if I refresh on a Monday I get all the Monday articles but if I don't get a chance to read them all, on the next day if I refresh the feeds I'll see all the Monday articles get replaced with Tuesday articles.

If that's ultimately the design philosophy the tool is going for then that's fine, I just wanted to know if it's possible to persist unread articles from a previous day/date and have a way to highlight what I have/haven't read.

I appreciate open-source is typically a thankless vocation, so I just wanted to say thank you for sharing this tool.

[Feature Request] - support local rss file

Description

tuifeed doesn't support local atom/rss file. It will try to download it with a http client.

Changes

Adding a local rss file in the config like this is validated in the config
local-rss = "file:///your_path/file.rss"
But throw an error when opening tuifeed

Could not fetch feed "local-rss": HTTP request failed: Bad URL: failed to parse
 URL: EmptyHost: empty host 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.