Coder Social home page Coder Social logo

neix's Introduction

neix - a news reader for your terminal

issues forks stars license

neix is a simple, work in progress terminal feed reader for all common RSS/Atom feeds on the web out there. So you can read your news without advertisments or other annoying stuff. Just the informations you need. You can import your existing collection of feeds from an OPML file or just configure them manually. You also have the ability to render the text with w3m, elinks or which program you want. How to configure neix, take a look into the configuration section. You got the full control of your news you want to read!

neix v0.1.3 GIF

๐Ÿ“„ Table of Contents

๐Ÿ“Ÿ Installation

Before you can install neix make sure you have installed all required packages.
After the successful installation you have to configure the feeds.conf file with the feeds you want to read.
Here you can see the proper format.

๐Ÿ“Ÿ Manual installation

Follow the steps below for installing:

$ git clone https://github.com/tomschwarz/neix.git  
$ cd neix  
$ cmake . # to enable unit-tests: cmake -DENABLE-TESTS=ON  
$ make  
$ sudo make install

๐Ÿ“‘ Requirements

๐Ÿ’ป Packaging

neix is available packaged for the following package manager/operating systems:

AUR AUR

$ git clone https://aur.archlinux.org/neix.git
$ cd neix
$ makepkg -si

Zypper zypper

$ zypper install neix

Pkgin pkgin

$ pkgin install neix

For some custom build packages or scripts see the packages section on the wiki.

๐Ÿ“Ÿ Uninstall

Follow the steps below for uninstalling:

$ cd neix # should be the same directory where the repository was cloned into  
$ sudo make uninstall

If there is an error during the uninstall process or you don't have the directory anymore following the steps below:

$ sudo updatedb  
$ locate neix # $ locate neix | grep /usr - if the output is to large  
$ sudo rm {PATH}/neix # where {PATH} is the full path to the binary  

โœ”๏ธ Unit tests

Follow the steps below for unit testing after the installation guide:

$ ./bin/tests    

Hint: you have to be in the main directory of neix!

To run only a specific test follow the steps below:

$ ./bin/tests --gtest_filter=<TEST_CASE>

To list which tests are available follow the steps below:

$ ./bin/tests --gtest_list_tests

For more informations see GoogleTest.

๐Ÿ“‹ Usage

$ neix

If neix is completely launched you got the following key's to navigate:

Key Function
q Close the current opened article or quit neix when you on the not reading an article.
ENTER Open the selected article to read.
o Open the current article in the browser (or with the programm you configured in the main config file).
j Select the next article in the current feed list.
k Select the previous article in the current feed list.
Shift + j Select the next feed of the loaded feed list.
Shift + k Select the previous feed of the loaded feed list.

๐Ÿ“‹ Command line options

neix has some command line options you can use. See below the available options:

Option Argument Description
-v - Prints the installed version of neix and exits.
-i <path> Import feeds of given OPML file and exits. Path can be absolute or relative.
-e <path> Export feeds to given file or path. Creates an OPML 2.0 file. Path can be absolute or relative.
-f <filename> Use a custom feed configuration file. Have to be located in the default neix config folder.

Usage of option -v:

$ neix -v

Usage of option -i:

$ neix -i ~/Downloads/import.xml

Usage of option -e:

$ neix -e ~/Downloads/export.xml

Usage of option -f:

# Location: ~/.config/neix/custom-feeds.conf
$ neix -f custom-feeds.conf

For more informations see the man-page:

$ man neix

๐Ÿ”ง Configuration

Default directory of the config files: ~/.config/neix/
During the installtion process, neix create's the default directory with the needed configuration files.

neix needs two configuration files. One for itself and one for the feeds which should be loaded.

File Description
neix.conf This is the main configuration. It include's the date format, locale and more options.
feeds.conf This is the feed list. An entry represents a single news feed.

๐Ÿ”ฉ neix.conf

This is the main config file of neix.

Option Value
dateFormat String which represents the format for the feed date. Here are all possible formats. [REQUIRED]
locale Here you can set the locale for your language (see here). Run locale -a to see all locales you got installed. [REQUIRED]
openCommand Here you can set which programm should be used to open the article link. Default is xdg-open. You can use what you want. [REQUIRED]
renderText You can set here how the text should be formatted. Default is w3m -dump -T text/html. You can use elinks or others. [OPTIONAL]

๐Ÿ”ฉ feeds.conf

This file contains the list of feeds you want to read.
This is the required format of an single entry (every entry should be in a seperate line):

TITLE = PROTOCOL://[username[:password]@]DOMAIN.TOP-LEVEL-DOMAIN[/DIRECTORIES[/FILE]]   

๐Ÿ“ Contributing

If you want to contribute check the CONTRIBUTING.md

๐Ÿ“š Libaries in usage

๐Ÿ“œ License

GNU GPLv3 ยฉ Tom Schwarz

๐Ÿ“ท Screenshots

Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7


Free Software Foundation

I'm a member of the Free Software Foundation. Without GNU/Linux and all the great work from people all over the world producing free software, this project would not have been possible.

Consider joining the FSF, here is why.

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.