{"id":13503417,"url":"https://florian.github.io/HNClient/","last_synced_at":"2025-03-29T18:31:18.864Z","repository":{"id":145693847,"uuid":"56795453","full_name":"florian/HNClient","owner":"florian","description":"An awesome desktop client for Hacker News","archived":false,"fork":false,"pushed_at":"2019-10-30T21:46:47.000Z","size":8151,"stargazers_count":194,"open_issues_count":5,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-21T05:04:50.457Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://florian.github.io/HNClient/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/florian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-04-21T18:08:11.000Z","updated_at":"2024-05-01T17:25:09.000Z","dependencies_parsed_at":"2024-01-15T16:52:20.406Z","dependency_job_id":null,"html_url":"https://github.com/florian/HNClient","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florian%2FHNClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florian%2FHNClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florian%2FHNClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florian%2FHNClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/florian","download_url":"https://codeload.github.com/florian/HNClient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850341,"owners_count":20682646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T23:00:28.971Z","updated_at":"2025-03-29T18:31:18.478Z","avatar_url":"https://github.com/florian.png","language":"JavaScript","readme":"# HNClient – A desktop client for Hacker News\r\n\r\nThis 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.\r\nThe app works on Mac, Linux and Windows.\r\n\r\n([Downloads](https://github.com/florian/HNClient/releases) | [Website](https://florian.github.io/HNClient/))\r\n\r\n## Features\r\n- You can easily choose articles to view and switch to the comments, no more\r\n  endless new tabs for HN\r\n- Optional split screen: View articles and their comments next to each other\r\n- Easily navigate the App with Vim like keyboard shortcuts\r\n- Comments are foldable\r\n- Things that are overlooked by most HN apps weren't forgotten, stuff like\r\n  displaying HN polls, rendering PDFs or not showing a website for Ask HN posts\r\n- Automatically loads new articles if you scrolled down far enough\r\n- It's Open Source, you can change it however you like! :)\r\n\r\n![](https://i.imgur.com/L3eyTqZ.png)\r\n![](https://i.imgur.com/4e36YVo.png)\r\n\r\n## Keyboard shortcuts\r\n\r\n| action | shortcut |\r\n|:--|:--|\r\n| next story |  \u003ckbd\u003ej\u003c/kbd\u003e |\r\n| previous story |  \u003ckbd\u003ek\u003c/kbd\u003e |\r\n| cycle between display modes (links, comments, both) |  \u003ckbd\u003el\u003c/kbd\u003e |\r\n| next comment |  \u003ckbd\u003en\u003c/kbd\u003e |\r\n| previous comment |  \u003ckbd\u003em\u003c/kbd\u003e |\r\n| fold / expand the current comment |  \u003ckbd\u003eenter\u003c/kbd\u003e |\r\n| reload stories list |  \u003ckbd\u003er\u003c/kbd\u003e |\r\n| display a list of all shortcuts |  \u003ckbd\u003eh\u003c/kbd\u003e |\r\n\r\n\r\n## Tech overview\r\n- Electron\r\n- ES6, React and Redux\r\n- Stylus and [css-modules](https://github.com/css-modules/css-modules)\r\n- Webpack\r\n- JavaScript [Standard](https://github.com/feross/standard) style\r\n- Mostly follows the conventions of the [electron-react-boilerplate](https://github.com/chentsulin/electron-react-boilerplate)\r\n- 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.\r\n\r\n\r\n- - -\r\n\r\n## A word on packaging\r\n\r\nCurrently 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 :)\r\n\r\n## Contributing\r\n\r\nPlease follow the JavaScript [Standard](https://github.com/feross/standard) style!\r\n\r\n### Developing\r\n\r\n```sh\r\n# Run both next to each other. The app will then automatically hot reload changed modules\r\n$ npm run hot-server\r\n$ npm run start-hot\r\n```\r\n\r\n### Packaging\r\n```sh\r\n$ npm run build\r\n$ npm run package # to package for the current platform\r\n$ npm run package-all # for all platforms\r\n```\r\n\r\n### Ideas\r\n\r\nWhile 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).\r\n","funding_links":[],"categories":["Desktop","Apps"],"sub_categories":["Desktop (Windows, macOS, Linux)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/florian.github.io%2FHNClient%2F","html_url":"https://awesome.ecosyste.ms/projects/florian.github.io%2FHNClient%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/florian.github.io%2FHNClient%2F/lists"}