Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antavelos/terminews

Manage RSS sources and display news feed in terminal
https://github.com/antavelos/terminews

Last synced: 13 days ago
JSON representation

Manage RSS sources and display news feed in terminal

Awesome Lists containing this project

README

        

# terminews [![Build Status](https://travis-ci.org/antavelos/terminews.svg?branch=master)](https://travis-ci.org/antavelos/terminews)

**terminews** is a terminal based application (TUI) which makes use of the [gocui](https://github.com/jroimartin/gocui) and [gofeed](https://github.com/mmcdole/gofeed) libraries and allows you to manage RSS resources and display their news feed. Currently it is only compatible with _Linux_ environments.

[![asciicast](https://asciinema.org/a/WKvIugMqbohNtxqCZHHPDcWRr.png)](https://asciinema.org/a/WKvIugMqbohNtxqCZHHPDcWRr)

## Installation

[![Packaging status](https://repology.org/badge/vertical-allrepos/terminews.svg)](https://repology.org/project/terminews/version)

### From binary

You may download and run the binary from the [latest release](https://github.com/antavelos/terminews/releases/latest).

### From source code

go get github.com/antavelos/terminews
cd $GOPATH/src/github.com/antavelos/terminews
go build
./terminews

### For Debian 11

Terminews is available through the bullseye-backports.

#### Enable the backports

```
# echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list
# apt update -y && apt upgrade -y
```

#### Install terminews

```
# apt install terminews/bullseye-backports
```

### For Ubuntu 21.04

Terminews is available in universe since Ubuntu 21.04.

```
# apt install terminews
```

## Usage

### Layout
The terminal is split in 3 different areas:
1. **Sites list** which contains the list of the user's saved sites.
2. **News list** which contains the news feed (list of news' titles) of the currently selected site.
3. **Summary** which contains extra information of the currently selected event.

![Layout](./screenshot.png)

### Key bindings
Key combination | Description
---|---
Tab|Focuses between the Sites list and the News list alternately
Enter|Retrieves the news feed of the currently selected site or submits user input
Ctrlo|Downloads the content of the currently selected event.
CtrlAlto|Opens the currently selected event using the default browser
Ctrln|Prompts the user to add a new site (URL)
Ctrlf|Prompts the user to search among the existing sites. Multiple terms are allowed and they are used conjunctively
Ctrlq|Closes any window (input prompt, event content) displayed on top of the main windows
Ctrlb|Adds or removes the currently selected event in the bookmarks list
CtrlAltb|Displays the bookmarked events
Del|Deletes the selected site of the selected bookmarked event depending on which list is currently focused
|Moves to the previous list item circularly
|Moves to the next list item circularly
PgUp|Moves to the previous list page circularly
PgDn|Moves to the next list page circularly
Ctrlh|Opens up the Help window
Ctrlc|Exits the application

## Credits
* [GOCUI](https://github.com/jroimartin/gocui) for the UI
* [gofeed](https://github.com/mmcdole/gofeed) for retrieving the RSS feed
* [GoOse](https://github.com/advancedlogic/GoOse) for extracting article content