Highlights fresh comments on Hacker News.
- // ==UserScript==
- // @name HN highlight fresh comments
- // @description Highlights fresh comments on Hacker News.
- // @version 1
- // @namespace https://greasyfork.org/en/scripts/6955-hacker-fresh
- // @include http://news.ycombinator.com/*
- // @include https://news.ycombinator.com/*
- // @grant GM_addStyle
- // ==/UserScript==
- GM_addStyle(".fresh-item { background-color: #FEE67F; border-radius: 3px; }");
- (function() {
- 'use strict';
- function get_comment_id(vote_box) {
- var item_link_ele = vote_box.parentElement.querySelector('.comhead > a:nth-child(2)');
- // Check for deleted comment
- if (item_link_ele === null) {
- return null;
- }
- var link = new URL(item_link_ele.href);
- return link.searchParams.get('id');
- }
- var all_vote_box = document.querySelectorAll('tbody > tr > td[valign=top]');
- for (var e of all_vote_box) {
- e.classList.add("vote-box");
- var item_id = get_comment_id(e);
- if (item_id !== null) {
- var status = localStorage.getItem(item_id);
- if (status === null) {
- e.classList.add("fresh-item");
- localStorage.setItem(item_id, "seen");
- }
- }
- }
- })();