1.0.0 • Published 6 years ago

gfn v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

github-feed-notifier 🔔

Build Status Number of downloads Licence Number of dependencies Made with Love in India npm

:octocat::bell: Cross-platform, native, desktop notification service for notifying when personal GitHub dashboard feed gets updated with new activity

About

github-feed-notifier (GFN) is a small NodeJS program that produces desktop notifications when your GitHub dashboard feed is updated with a new item. The program uses node-notifier, which allows for cross-OS support (Linux, macOS and Windows).

Why

There are quite a few "feed notifiers" for GitHub, but most of them lack something that I want:

  • Cross-platform compatibilty
  • Configurability
  • Desktop notifications (and a not browser notification)
  • Easy installation

Usage

Installation

Requirements

Install GFN globally:

$ npm install -g gfn

and configure:

$ gfn config

Once properly configured, GFN can be run as a foreground process in your terminal: $ gfn or $ github-feed-notifier

Configuration

The main requirement for configuration is your personal GitHub feed URL. You can obtain it by following these steps:

  1. Login to GitHub and go to your dashboard (the homepage)
  2. Scroll down entirely, to the bottom of the feed (do not click the 'Load more' button)
  3. Click on the "Subscribe to your news feed" link

readme-subscribe-to-feed

  1. Copy the URL of this link. This is your personal feed URL
  2. Run gfn config and paste this link

Run as a Background Process

Though GFN can be run directly as shown above, it is meant to be run as a background process on your computer to prevent using an extra terminal session.

To start GFN as a background process, use forever, a simple CLI tool that allows a script to run forever, in the background.

To get started, install 'forever' globally:

$ npm install -g forever

Once installed, start forever:

$ forever start `npm root -g`/gfn

Start Automatically on System Startup

This is where it gets different for different platforms, OS's and builds. I recommend looking it up for your own platform.

One possible, cross-platform solution is to use pm2 instead of 'forever' to run the command forever, as pm2 lets you keep your process alive after every restart using startup hooks. But for a small project like this, pm2 might be overkill.

To get started, answers to questions on StackExchange worked for me, for Linux and macOS.


License

Copyright (c) Mihir Chaturvedi. All rights reserved.

Licensed under the MIT License.