• Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📰 A terminal feed reader with a fancy ui

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

More Repositories

1

termscp

🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB
Rust
1,173
star
2

tui-realm

👑 tui-rs framework to build stateful applications with a React/Elm inspired approach
Rust
459
star
3

suppaftp

a super FTP/FTPS client library for Rust with support for both passive and active mode
Rust
90
star
4

termiWin

termiWin: a termios porting for Windows
C
59
star
5

pavao

A Rust client library for SMB 🦚
Rust
49
star
6

remotefs-rs

⏫ A client library to work with all file transfer protocols ⏬
Rust
38
star
7

ATtila

Python module to communicate easily with modems and RF modules using AT commands
Python
25
star
8

tui-realm-stdlib

🎨 Standard components library for tui-realm
Rust
24
star
9

tui-realm-treeview

🌲 treeview component for tui-realm 👑
Rust
15
star
10

FlapQML

Flap QML Component
QML
12
star
11

instagram-scraper-rs

A rust library to scrape an instagram user's photos and videos
Rust
11
star
12

mannaggia-py

Mannaggia.sh for big brains
Python
9
star
13

remotefs-rs-ssh

RemoteFS SCP/SFTP clients
Rust
9
star
14

ssh2-config

a ssh config parser for ssh2-rs
Rust
8
star
15

remotefs-rs-smb

RemoteFS SMB client
Rust
7
star
16

buongiornissimo-rs

A Rust library to scrape for the best Italian boomer flavoured images
Rust
6
star
17

libBMpp

Windows Bitmap (BMP) library for modern C++
C++
5
star
18

brol

A repository with all those useful code snippets and tools written during my career as developer.
Rust
5
star
19

bitpanda730

🇮🇹 Ottieni le indicazioni su come compilare il 730 partendo dalle transazioni Bitpanda
Rust
4
star
20

tui-realm-textarea

tui-realm component for rhysd/tui-textarea
Rust
4
star
21

donmaze

An interactive adventure terminal game in a labyrinth
Rust
4
star
22

orange-trees

🍊 A Rust implementation of the Tree data structure 🍊
Rust
4
star
23

StringEXT

C extension of string.h
C
4
star
24

opentapo-wearos

Tp-Link Tapo App for WearOS
Kotlin
3
star
25

pyc-shell

Use your alphabet with your favourite shell
Rust
3
star
26

librib

C library to implement IPv4/IPv6 routing tables
C
3
star
27

QMLog

Simple QML Logger component and library
C++
3
star
28

remotefs-rs-ftp

RemoteFS FTP client
Rust
2
star
29

WebTermJS

A simple web terminal implemented using NodeJS. (Or PHP)
JavaScript
2
star
30

popen-redirections

Just a simple C program which shows how to redirect stdout/stdin of child process to parent
C
2
star
31

big-luca-bot

Le perle e le news del papi su Telegram in ogni momento
Rust
2
star
32

homebrew-termscp

homebrew builder for termscp
Ruby
2
star
33

bigluca

Cryptopapies NFT generator
Rust
2
star
34

tuirealm_derive

Derive macro for Components
Rust
2
star
35

rust-wasm-app

A template repository to setup a Rust WASM Application
Rust
2
star
36

padrepio-bot

Discord/Telegram/Alexa bot to interact with Padre Pio via ChatGPT
Python
2
star
37

yubico-authenticator-wearos

Yubico Authenticator for WearOS
Kotlin
1
star
38

fe-react-template

my frontend ReactJS template
TypeScript
1
star
39

LangJS

Instant language manager for your Webpages
JavaScript
1
star
40

just-a-blockchain

Just a blockchain written in Rust without any real purpose
Rust
1
star
41

remotefs-rs-aws-s3

RemoteFS Aws S3 client
Rust
1
star
42

vxt

A python CLI tool to extract voice sentences from audio files with speech recognition
Python
1
star
43

shell-core

Rust library which provides core functionalities to implement shells
Rust
1
star
44

eth-fundfwd

A NodeJS Daemon to forward incoming funds on provided Ethereum address to an output address using Alchemy
TypeScript
1
star
45

react-ic-wallet

A simple Context provider and component in order to manage different IC wallets in the browser.
TypeScript
1
star
46

comuni-province-regioni

Typescript definition with attributes for Comuni (Cities), Province (Provinces) and Regioni (Regions) in Italy
TypeScript
1
star