Skip to content

Instantly share code, notes, and snippets.

@yunga
Created December 18, 2019 02:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yunga/0c1ac20e5c2b9b47b95887a9f66411f9 to your computer and use it in GitHub Desktop.
Save yunga/0c1ac20e5c2b9b47b95887a9f66411f9 to your computer and use it in GitHub Desktop.
function linkHighlight() {
let colors = {
"HostBg": "#00F", "Host": "#FFF", "HostOut": "#000",
"DomainBg": "#808", "Domain": "#FFF", "DomainOut": "#000",
"OtherBg": "#F00", "Other": "#FFF", "OtherOut": "#000",
"WikiBg": "#FF0", "Wiki": "#000", "WikiOut": "#000",
};
let Hosts = {};
let Domains = {};
let pageHost = location.hostname
let pageDomain = pageHost.split(".").slice(-2).join(".");
let index = 0;
for ( ; link = document.links[index] ; ++index ) {
let linkHost = link.hostname;
let linkDomain = linkHost.split(".").slice(-2).join(".");
Hosts.hasOwnProperty( linkHost ) ? Hosts[ linkHost ]++ : Hosts[ linkHost ] = 1;
Domains.hasOwnProperty( linkDomain ) ? Domains[ linkDomain ]++ : Domains[ linkDomain ] = 1;
let color = "Other";
if ( pageDomain === linkDomain ) { color = "Domain"; }
if ( pageHost === linkHost ) { color = "Host"; }
if ( linkDomain.indexOf("wikipedia.") == 0 ) { color = "Wiki"; }
link.target = "_blank";
link.style.color = colors[color];
link.style.backgroundColor = colors[color + "Bg"];
link.style.outlineColor = colors[color + "Out"];
}
let message = "LinkHighlight: Found " + Object.keys(Domains).length +" domains and " + Object.keys(Hosts).length + " hosts in " + index + " links.";
console.groupCollapsed( message );
console.groupCollapsed( 'Domains' );
console.table(Domains);
console.groupEnd();
console.groupCollapsed( 'Hosts' );
console.table(Hosts);
console.groupEnd();
console.groupEnd();
alert( message );
return true;
}
linkHighlight();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment