refined-hacker-news icon indicating copy to clipboard operation
refined-hacker-news copied to clipboard

✨ Hacker News, but refined — Interface tweaks and features to make the HN experience better

Refined Hacker News

Licence Chrome Web Store Mozilla Add-on Made with love in India

✨ Browser extension that adds useful features and tweaks a few stuff on Hacker News to make the experience better... without changing the look and feel.

The minimalist design of Hacker News is best at offering news the way we like it. Yet there are a few small interface tweaks and additional features that can drastically improve our experience while browsing through items and comments which this extension implements.

Hopefully, in due course, a few of these tweaks can be implemented by Hacker News themselves. You can help too by emailing [email protected]!

Inspired by Sindre Sorhus's extension Refined GitHub.

Contents

  • Contents
  • Install
  • Highlights - Added features - UI tweaks - More actions - More info at a glance - Miscellaneous - Keyboard bindings - On items and comments - On input fields - Site-wide navigation - Abandoned features
  • Customization and Options
  • Contribute
  • Donate
  • Extension Permissions
  • License

Install

Highlights

Reply to comments without leaving page Navigate through items and comments using your keyboard
Easily favorite items and comments Hide and sort stories, and auto-refresh the page from the options bar
Show user or item information when hovering over the links Highlight new, unread comments on subsequent visits

Added features

  • reply-without-leaving-page Reply to a comment, edit and delete your comment just below the parent comment, without leaving the page.
  • auto-refresh Options bar: Auto-refresh stories on the page periodically, after a fixed interval, without reloading the page.
  • hide-read-stories Options bar: Hide/show stories already opened by you.
  • sort-stories Options bar: Sort stories basis of their score, age, or by their default rank.
  • fetch-submission-title-from-url When submitting an item, get the title of the page of the URL entered.
  • list-hn-polls-separately Show HN Polls on a separate page (like Show HN, Ask HN, etc). Linked on topbar: https://news.ycombinator.com/#polls.
  • prefill-submit-title Prefill submission title field with "Show HN: " or "Ask HN: " when 'Submit' link is accessed/clicked from Show HN or Ask HN pages.
  • past-choose-date Choose a custom date in /front to go back to that date.

UI tweaks

  • change-dead-comments-color If "showdead" is enabled in user settings, color of dead comments changes to light-red (#d89899) instead of the barely visible light-grey (#dddddd).
  • comments-ui-tweaks Tweaks include:
    • Add border to indentation to make to show indent separation between comments.
    • Custom indent-width (default is 40px), which can be set using the extension popup.
    • Highlight item's original poster, displayed as [op] next to username.
    • Make <pre></pre> tags more visible.
  • highlight-unread-comments Highlight new and unread comments after your second and subsequent visits to the comments page of an item. Data resets after three days.
  • backticks-to-monospace Convert backticks-wrapped (`like this`) inline text to monospace (like this).
  • linkify-user-about Linkify all links and emails IDs that are on the "about" of the user's profile.

More actions

  • key-bindings-on-items Enable key bindings on items and comments to improve navigation and item/comment-related actions. Go to mappings.
  • key-bindings-on-input-fields Enable key bindings/shortcuts on input fields. Go to mappings.
  • site-navigation-key-bindings Universal, site-wide key bindings/shortcuts to quickly navigate to a page (eg. Home, Show HN, Threads etc.). Go to mappings.
  • more-accessible-favorite Add a 'favorite' button next to items and comments to quickly favorite them. Go to https://news.ycombinator.com/favorites?id=<your-username> to view favorite-d items.
  • more-accessible-flag Add a 'flag' button next to comments to quickly flag them.
  • archive-submission Add "archive" button at the top of the comments page of a submission to view the archived version of the story's webpage or archive the webpage to the Wayback Machine.
  • click-comment-indent-to-toggle Click indentation of the comment (on the left of it) to toggle (show/hide) that comment.
  • click-rank-to-vote-unvote Increase hit-area of upvote button by clicking the rank number of the item to upvote it too.
  • open-story-links-in-new-tab Open items in a new tab, instead of the same tab.
  • preview-and-set-top-bar-color Quickly "test" topbar colors and set them on https://news.ycombinator.com/topcolors. Note: you must have 250+ karma to set a custom topcolor.
  • toggle-all-comments-and-replies Clickable button to toggle all comments on the page, or all replies to a certain comment.

More info at a glance

  • load-more-links-in-navbar Click "load more" on the topbar/nav bar to show more links.
  • profile-links-dropdown Show profile-specific pages in a dropdown when clicking your username on the top-right of the page, instead of directly opening the the profile page.
  • show-item-info-on-hover Hover over a Hacker News item link in the comments to quickly display the item's details.
  • show-similar-submissions List all HN submissions that are duplicates/have been posted before with the same URL, at the bottom of the comments.
  • show-top-leaders-karma Load and show karma of the top-ten leaders on HN's leaderboard (not shown by default).
  • show-user-info-on-hover Hover over a Hacker News user link next to item or in the comments to quickly display the users's details.

Miscellaneous

  • input-field-tweaks Tweaks include:
    • Show how many characters are left in the 'title' field when submitting an item.
    • Increase width of 'title' field dynamically.
    • Increase height of any textareas (even those that are dynamically created), dynamically.
  • on-link-focus-comment Navigate to that specific comment when clicking the 'on: ' link.

Keyboard bindings

On items and comments

On items/stories:

Key-binding Action
J Next item (down)
K Previous item (up)
Enter
Ctrl/Cmd+Enter
Open link and focus tab
Open link in the background
Esc Un-highlight item
U Upvote item
F Favorite item
C
Ctrl/Cmd+C
Open item's comments on same tab
Open item's comments on new tab
Shift+X Flag/unflag item
Shift+H Hide item

On comments:

Key-binding Action
J
Shift+J
Next comment (down)
Next direct sibling comment
K
Shift+K
Previous comment (down)
Previous direct sibling comment
Enter Toggle comment
Esc Un-highlight comment
U Upvote/unvote comment
D Downvote/undown comment
R Reply to comment
F Favorite comment
Shift+X Flag/unflag comment
0 to 9 Open numbered/index reference link in the comment
Eg: [1] https://mihir.ch ...

On input fields

Key-binding Action
Ctrl/Cmd+Enter Submit form
Ctrl/Cmd+I Italicise selected portion (wrap selected text in asterisks)

Site-wide navigation

Key-binding Action
Alt+H Home
Alt+S Submit
Alt+N New
Alt+O Show HN
Alt+A Ask HN
Alt+P Profile
Alt+T Threads

Abandoned features

  • blur-story-scores
  • custom-font-face
  • hide-bad-words
  • load-more-stories
  • scale-font-size
  • show-karma-left

Customization and Options

Extension options can be found in the extension's popup. There, you can

  • specify which features you want to disable by entering features' IDs (listed above), preferably listed on new lines
  • specify custom CSS, which is useful to override CSS implemented by this extension, or any other UI tweaks you prefer.

Contribute

Issues and feature requests can be created on the issues page.

For development contribution, please refer to the contribution guide.

Donate

Refined Hacker News was made by me during my study-breaks and free time. If you like and have enjoyed it, please consider donating a small amount (any amount will be really appreciated!) to support and sustain its development. Thank you!

Patreon

Donate

Buy Me A Coffee

Extension Permissions

No data is ever uploaded to a remote server, or is sent anywhere else. All data that is used by this extension is stored locally.

storage Required to save extension options in sync storage area so that your options are synced across devices. Also used to save other data such as list of read comments (highlight-unread-comments) locally.

history Required for hide-read-stories feature. The feature needs to check whether the story has been visited by you in the past, that is, whether that story is in your history.

tabs Required to open a link in a new tab, but in the background. Also required to send and receive data between the extension popup, background scripts and the active Hacker News tabs.

*://news.ycombinator.com/* Required to fetch subpages, submit forms, inline replies, etc.

*://hacker-news.firebaseio.com/v0/* Hacker News API - required to fetch item and user details.

*://url-title.now.sh/* Required by the fetch-submission-title-from-url feature to fetch the title. Source: plibither8/url-title-api.

*://wayback.now.sh/ Required by archive-submission to view archived version of webpage or save the webpage to the Wayback Machine. Source: plibither8/wayback.

*://hn.algolia.com/* Required by show-simillar-submission and list-hn-polls-separately features to get filtered search results.

License

MIT