Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wedaly/local-news
Terminal-based RSS feed reader
https://github.com/wedaly/local-news
golang rss terminal tui
Last synced: about 1 month ago
JSON representation
Terminal-based RSS feed reader
- Host: GitHub
- URL: https://github.com/wedaly/local-news
- Owner: wedaly
- License: agpl-3.0
- Created: 2019-04-06T03:30:41.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-18T18:07:15.000Z (over 5 years ago)
- Last Synced: 2024-12-18T05:14:10.433Z (about 1 month ago)
- Topics: golang, rss, terminal, tui
- Language: Go
- Size: 2.02 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# local-news
Terminal-based RSS/Atom feed reader.This was my final project for Harvard Extension CSCI-E37, Developing International Software (Spring 2019).
This is what the application looks like in English:
![Animation of local-news with en_US locale](screencast-en.gif)
And this is what the application looks like with a pseudo-locale.
![Animation of local-news with eo locale](screencast-eo.gif)
Notice that the UI text, dates, and colors change based on the configured locale. You can't see it in the animations, but numbers are also internationalized in the "refreshing `n` feeds" status text.
# Getting Started
## Docker
1. [Install Docker](https://docs.docker.com/v17.12/install/)
2. Set your current working directory to the root of this git repository: `cd /path/to/local-news`
2. Build the docker image: `docker build . -t localnews`
3. Run the program in Docker: `docker run -it localnews`
4. Run the program using a pseudo-locale: `docker run -it -e LANG=eo localnews`NOTES:
* Copy-and-paste won't work when using Docker because the container won't have access to the host system's clipboard.
* Opening a feed item in a browser also won't work in Docker, because no browser is installed in the image.
* The Docker image includes locales for `de_DE.UTF-8`, `es_ES.UTF-8`, and `fr_FR.UTF-8` as well. Choosing these locales will affect datetime formatting, number formatting, and collation (sort) order. However, the UI strings have not (yet) been translated for these locales, so the text will appear in English.## Linux
If you are on Linux, you will need to install:
* [GNU gettext](https://www.gnu.org/software/gettext)
* [Go](http://golang.org/)
* [xdg-utils](https://freedesktop.org/wiki/Software/xdg-utils/)To build the program: `make`
To run the program after it's built: `./bin/localnews`
To run tests: `make tests`
# Localization
* Translation files are in `configs/locale/{locale}/LC_MESSAGES`
* `make` will automatically update the ".po" and ".mo" files
* Locale-specific config (color schemes) is in `configs/etc/{locale}/config.xml`
* We're using Esperanto (`eo`) as a pseudo-language to test internationalization. Set the environment variable `LANG=eo` to see the UI text and colors change.# Known Issues
Pasting directly to the terminal (e.g. middle-click in X-Windows) will sometimes truncate the pasted text. This is due to a [bug in the underlying TUI library](https://github.com/gdamore/tcell/issues/200). As a workaround, you can use "Ctrl-v" to paste directly. Note that this requires the terminal to send the ctrl-v command to the application, which some terminals don't support.