plibither8/refined-hacker-news
Hacker News, but refined Interface tweaks and features to make the HN experience better
repo name | plibither8/refined-hacker-news |
repo link | https://github.com/plibither8/refined-hacker-news |
homepage | |
language | JavaScript |
size (curr.) | 1593 kB |
stars (curr.) | 353 |
created | 2019-03-07 |
license | MIT License |
Refined Hacker News
✨ 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 hn@ycombinator.com!
Inspired by Sindre Sorhus’s extension Refined GitHub.
Contents
- Contents
- Install
- Highlights
- Customization and Options
- Contribute
- Donate
- Extension Permissions
- License
Install
- Chrome extension
- Firefox add-on
- Opera extension: Use this Opera extension to install the Chrome version.
Highlights
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
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.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 tohttps://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!
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.