Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/florian/HNClient
An awesome desktop client for Hacker News
https://github.com/florian/HNClient
Last synced: 16 days ago
JSON representation
An awesome desktop client for Hacker News
- Host: GitHub
- URL: https://github.com/florian/HNClient
- Owner: florian
- License: mit
- Created: 2016-04-21T18:08:11.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-10-30T21:46:47.000Z (about 5 years ago)
- Last Synced: 2024-05-21T05:04:50.457Z (6 months ago)
- Language: JavaScript
- Homepage: https://florian.github.io/HNClient/
- Size: 7.77 MB
- Stars: 194
- Watchers: 10
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HNClient – A desktop client for Hacker News
This app lets you comfortably read Hacker News without having to open an endless amount of tabs anymore. You can choose articles to view from a sidebar and can optionally read articles and their comments next to each other on a split screen.
The app works on Mac, Linux and Windows.([Downloads](https://github.com/florian/HNClient/releases) | [Website](https://florian.github.io/HNClient/))
## Features
- You can easily choose articles to view and switch to the comments, no more
endless new tabs for HN
- Optional split screen: View articles and their comments next to each other
- Easily navigate the App with Vim like keyboard shortcuts
- Comments are foldable
- Things that are overlooked by most HN apps weren't forgotten, stuff like
displaying HN polls, rendering PDFs or not showing a website for Ask HN posts
- Automatically loads new articles if you scrolled down far enough
- It's Open Source, you can change it however you like! :)![](https://i.imgur.com/L3eyTqZ.png)
![](https://i.imgur.com/4e36YVo.png)## Keyboard shortcuts
| action | shortcut |
|:--|:--|
| next story | j |
| previous story | k |
| cycle between display modes (links, comments, both) | l |
| next comment | n |
| previous comment | m |
| fold / expand the current comment | enter |
| reload stories list | r |
| display a list of all shortcuts | h |## Tech overview
- Electron
- ES6, React and Redux
- Stylus and [css-modules](https://github.com/css-modules/css-modules)
- Webpack
- JavaScript [Standard](https://github.com/feross/standard) style
- Mostly follows the conventions of the [electron-react-boilerplate](https://github.com/chentsulin/electron-react-boilerplate)
- Uses the nice [node-hnapi](https://github.com/cheeaun/node-hnapi) which wraps HN's official API. HN's API itself is sadly not very usable so far, e.g. to fetch all 200 comments of a thread we'd need to do 200 requests, which would greatly degrade user experience. Thanks to node-hnapi this app does not need to do that.- - -
## A word on packaging
Currently the Windows and Linux builds don't use an installer program to bundle everything into a single file. I guess that would be the optimal packaging but I don't have any experience programming for Windows / Linux. So I'm hoping someone might contribute if it's important to them :)
## Contributing
Please follow the JavaScript [Standard](https://github.com/feross/standard) style!
### Developing
```sh
# Run both next to each other. The app will then automatically hot reload changed modules
$ npm run hot-server
$ npm run start-hot
```### Packaging
```sh
$ npm run build
$ npm run package # to package for the current platform
$ npm run package-all # for all platforms
```### Ideas
While I implemented all of the features I definitely wanted, there's also a [list of feature ideas](https://github.com/florian/HNClient/blob/master/ideas.md).