github-feed-notifier 🔔
: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:
- Login to GitHub and go to your dashboard (the homepage)
- Scroll down entirely, to the bottom of the feed (do not click the 'Load more' button)
- Click on the "Subscribe to your news feed" link
- Copy the URL of this link. This is your personal feed URL
- 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.