A React & react-router-powered implementation of Hacker News using its Firebase API.
Live version: https://graynk.space/hn
- Supports display of all item types: stories, jobs, polls and comments
- Basic user profiles
- Collapsible comment threads, with child counts
- "Realtime" updates (free via Firebase!)
- Last visit details for stories are cached in
localStorage
- New comments are highlighted:
- Comments since your last visit to an item
- New comments which load while you're reading an item
- New comments in collapsed threads
- Automatic or manual collapsing of comment threads which don't contain any new comments
- Manual highlighting of the X most recent comments to catch up on threads you were reading elsewhere
- Stories with new comments are marked on list pages
- Stories can be marked as read to remove highighting from new comments
- "comments" sections driven by the Changed Items API
- Story listing pages are cached in
sessionStorage
for quick back button usage and pagination in the same session - Configurable settings:
- auto collapse - automatically collapse comment threads without new comments on page load
- show reply links - show "reply" links to Hacker News
- show dead - show items flagged as dead
- show deleted - show comments flagged as deleted in threads
- Delayed comment detection - so tense! Who will it be? What will they say?
Install dependencies:
npm install
npm start
- start development servernpm run build
- build into thedist/
directorynpm run lint
- lintsrc/
npm run lint:fix
- lintsrc/
and auto-fix issues where possible