HN better domain names

Displays the full domain name of each item on Hacker News.

  1. // ==UserScript==
  2. // @name HN better domain names
  3. // @description Displays the full domain name of each item on Hacker News.
  4. // @version 2
  5. // @namespace https://tomkwok.com/hacker-news-greasemonkey-scripts/
  6. // @include http://news.ycombinator.com/*
  7. // @include https://news.ycombinator.com/*
  8. // @grant GM_addStyle
  9. // ==/UserScript==
  10.  
  11. GM_addStyle(".orig-domain { color: #222 !important; }");
  12.  
  13. (function() {
  14. var HTTP_SCHEME = /^https?:\/\//;
  15. var spans = document.getElementsByClassName('comhead');
  16.  
  17. for (var i = 0; i < spans.length; i++) {
  18. var span = spans[i];
  19. var a = span.previousSibling;
  20. var sitestr = span.getElementsByClassName('sitestr')[0];
  21.  
  22. if (a.href && a.href.match(HTTP_SCHEME)) {
  23. orig_domain = new RegExp(sitestr.innerHTML.replace(/\s/, "")
  24. .replace(/\./, "\."));
  25. console.log(orig_domain);
  26. var h = a.href.replace(HTTP_SCHEME, "")
  27. .replace(/\/.*/, "")
  28. .replace(/^www\d*\./, "")
  29. .replace(orig_domain, function (orig_domain){ return '<span class="orig-domain">' + orig_domain + '</span>'; });
  30. //span.innerHTML = " (" + h + ")";
  31. sitestr.innerHTML = h;
  32. }
  33. }
  34. })();