JavaScript snippet to highlight new posts
JavaScript snippet to highlight new posts
Hi all. I wanted an easy way to highlight new posts, without basing it on the last time I visited a page. The snippet is as follows, if any of you folks would like to use it: /** * Usage: highlight('newpost', 3, 'hours'); * * This will add the class 'newpost' to any post made within * the past 3 hours. This includes, for example: * * 3 hours ago * 45 minutes ago * 22 seconds ago */ function highlight(className, number, type) { var types = ['second', 'seconds', 'minute', 'minutes', 'hour', 'hours', 'day', 'days']; // Types are inclusive, so if we filtered to 'minutes', then // we always want posts that were made 'seconds' ago. types = types.slice(0, types.indexOf(type) + 1); // Any link with 'item?id' is assumed to be a timestamp. var posts = document.querySelectorAll('a[href*="item?id"]'); // Loop through the number of posts, since we need to access // each post using NodeList#item. for(var i = 0; i < posts.length; i++) { var post = posts.item(i); try { // The leftmost integer. var label_number = parseInt(post.innerHTML.match(/^\d+/)); // The label (a value that maps up to the types array). var label_type = post.innerHTML.match(/^\d+ (.+?) ago$/)[1]; } catch(e) { // If either of the matches fail, it's due to an // irrelevant link. continue; } // Continue if the label is out of bounds. // For instance, 'days' when filtering by 'minutes'. if(types.indexOf(label_type) === -1) continue; // Continue if the label type matches, but the number // is larger than what we're filtering for. if(type === label_type && label_number > number) continue; // td > div > span > a post.parentNode.parentNode.parentNode.className += ' ' + className; } }
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Extension to highlight new posts on HN frontpage since your last visit
Extension to highlight new posts on HN frontpage since your last visit
Extension to highlight new posts on HN frontpage since your last visit
Extension to Highlight new posts on HN frontpage since your last visit
A new EventEmitter for Deno ( and every other JavaScript runtimes)
JavaScript is the new Punk Rock
New HN titles JavaScript app without dependencies
New async JavaScript paradime with async generator and async iteration
JavaScript Snippet for removing ?utm_ from URLs after they've loaded
A new language that merges FORTH and Javascript