plibither8/refined-hacker-news

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

834

stars

348

commits

JavaScript

primary language

Oct 4, 2023

updated

browser-extension
chrome-extension
firefox-addon
hacker-news
hacktoberfest
hn
ycombinator
Browse cluster: Browser Extensions & Add-ons

README

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 hn@ycombinator.com!

Inspired by Sindre Sorhus's extension Refined GitHub.

Contents

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

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

More info at a glance

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-bindingAction
JNext item (down)
KPrevious item (up)
Enter
Ctrl/Cmd+Enter
Open link and focus tab
Open link in the background
EscUn-highlight item
UUpvote item
FFavorite item
C
Ctrl/Cmd+C
Open item's comments on same tab
Open item's comments on new tab
Shift+XFlag/unflag item
Shift+HHide item

On comments:

Key-bindingAction
J
Shift+J
Next comment (down)
Next direct sibling comment
K
Shift+K
Previous comment (down)
Previous direct sibling comment
EnterToggle comment
EscUn-highlight comment
UUpvote/unvote comment
DDownvote/undown comment
RReply to comment
FFavorite comment
Shift+XFlag/unflag comment
0 to 9Open numbered/index reference link in the comment
Eg: [1] https://mihir.ch ...

On input fields

Key-bindingAction
Ctrl/Cmd+EnterSubmit form
Ctrl/Cmd+IItalicise selected portion (wrap selected text in asterisks)

Site-wide navigation

Key-bindingAction
Alt+HHome
Alt+SSubmit
Alt+NNew
Alt+OShow HN
Alt+AAsk HN
Alt+PProfile
Alt+TThreads

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.

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.

*://title.mihir.ch/* 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

Contributors

plibither8

337 commits

lookfirst

1 commits

micaplush

1 commits

plibither8/refined-hacker-news

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

834

stars

348

commits

JavaScript

primary language

Oct 4, 2023

updated

browser-extension
chrome-extension
firefox-addon
hacker-news
hacktoberfest
hn
ycombinator
Browse cluster: Browser Extensions & Add-ons

README

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 hn@ycombinator.com!

Inspired by Sindre Sorhus's extension Refined GitHub.

Contents

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

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

More info at a glance

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-bindingAction
JNext item (down)
KPrevious item (up)
Enter
Ctrl/Cmd+Enter
Open link and focus tab
Open link in the background
EscUn-highlight item
UUpvote item
FFavorite item
C
Ctrl/Cmd+C
Open item's comments on same tab
Open item's comments on new tab
Shift+XFlag/unflag item
Shift+HHide item

On comments:

Key-bindingAction
J
Shift+J
Next comment (down)
Next direct sibling comment
K
Shift+K
Previous comment (down)
Previous direct sibling comment
EnterToggle comment
EscUn-highlight comment
UUpvote/unvote comment
DDownvote/undown comment
RReply to comment
FFavorite comment
Shift+XFlag/unflag comment
0 to 9Open numbered/index reference link in the comment
Eg: [1] https://mihir.ch ...

On input fields

Key-bindingAction
Ctrl/Cmd+EnterSubmit form
Ctrl/Cmd+IItalicise selected portion (wrap selected text in asterisks)

Site-wide navigation

Key-bindingAction
Alt+HHome
Alt+SSubmit
Alt+NNew
Alt+OShow HN
Alt+AAsk HN
Alt+PProfile
Alt+TThreads

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.

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.

*://title.mihir.ch/* 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

Contributors

plibither8

337 commits

lookfirst

1 commits

micaplush

1 commits

Languages

JavaScript

91.7%

Stylus

3.7%

HTML

3.1%

CSS

1.5%