- // ==UserScript==
- // @name Link Guru
- // @namespace http://greasyfork.org/users/2240-doodles
- // @author Doodles
- // @version 5
- // @description Adds boxes full on links to a few sites.
- // @match *://*.wikipedia.org/*
- // @match *://www.google.com/search?*
- // @include *://www.google.co.*/search?*
- // @match *://*.wiktionary.org/wiki/*
- // @match *://www.imdb.com/*
- // @match *://www.rottentomatoes.com/*
- // @run-at document-end
- // @require https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
- // @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js
- // @require https://greasyfork.org/scripts/38339-little-site-icons/code/Little%20Site%20Icons.js?version=250233
- // @grant GM_getValue
- // @grant GM_setValue
- // ==/UserScript==
-
- this.$ = this.jQuery = jQuery.noConflict(true);
- var lgSettings = [];
-
- var unknownIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2' +
- 'AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAA' +
- 'AAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4Onht' +
- 'cG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDEx' +
- 'IDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo' +
- 'dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiBy' +
- 'ZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBN' +
- 'TT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9i' +
- 'ZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9z' +
- 'aG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTYxQkY0MkQwQjAwMTFFODg3' +
- 'QjZFNTlGOTU1NTYzMzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTYxQkY0MkUwQjAwMTFFODg3QjZF' +
- 'NTlGOTU1NTYzMzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NjFC' +
- 'RjQyQjBCMDAxMUU4ODdCNkU1OUY5NTU1NjMzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5NjFCRjQy' +
- 'QzBCMDAxMUU4ODdCNkU1OUY5NTU1NjMzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6' +
- 'eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvesF4UAAABtSURBVHjaYrxbGspACmABYvFsPyJVv5y6iYmB' +
- 'RMCCKcSjEAtnf3mwGE2WCY9qTC66DRBpZFOBIkCELIKiAc0BmMZjcRKmajRTmEhSjc8GrKqxBysupQSchNXH' +
- 'BJxEbEyT4yQCNgDTIPEaAAIMALyJIxfWPzt6AAAAAElFTkSuQmCC';
-
- $(document).ready(function () {
- "use strict";
-
- $("<style></style>").prop("type", "text/css").html(
- 'div#lgSettingsContainer {padding:2px 2px 0 0;float:left;display:block;z-index:1000;}' +
- 'div#lgLinkContainer {padding:0 0 3px 0;margin:0 0 10px 0;line-height:16px;font-size:' +
- '12px;}div#lgLinkContainer a img {display:inline-block;vertical-align:middle;width:16' +
- 'px;height:16px;}div#lgLinkContainer a {display:inline-block;}div#lgLinkContainer a s' +
- 'pan {vertical-align:middle;display:inline-block;margin:0 7px 0 3px;}.ui-corner-all {' +
- 'border-radius:0 !important;}.ui-dialog {z-index:403 !important;background-color:#CCC' +
- ';background:#CCC;color:#333;font-size:14px;border:1px solid #FFF;box-shadow:5px 5px ' +
- '5px rgba(0, 0, 0, 0.5);font-family:Arial, Helvetica, Verdana, sans-serif !important;' +
- 'outline:1px solid #000;}.ui-widget-content {background-color:#AAAAAA;background:#AAA' +
- 'AAA;border:none !important;}.ui-dialog-titlebar {font-size:16px;background-color:#AA' +
- 'AAAA;background:#AAAAAA;padding:4px 4px 4px 7px;text-shadow:1px 1px 2px #000000;colo' +
- 'r:#daf0ff;font-weight:bold;border:none !important;}.ui-dialog-titlebar-close {float:' +
- 'right !important;height:19px !important;background-color:#3498db !important;border:1' +
- 'px solid #222222 !important;background-image:none !important;text-shadow:1px 1px 1px' +
- ' #000000 !important;font-size:11px !important;font-weight:bold !important;color:#FFF' +
- ' !important;}.ui-dialog-titlebar-close:after {content:"Close";}.ui-dialog-titlebar-c' +
- 'lose:hover {background-color:#3cb0fd !important;}.ui-dialog-titlebar-close span {dis' +
- 'play:none;}.ui-dialog-content {background-color:#CCC;padding:5px;border:none !import' +
- 'ant;color:#000;}.ui-dialog-buttonpane {padding:2px 7px 7px 7px;background-color:none' +
- ' !important;background:none !important;border:none;}.ui-dialog-buttonset {text-align' +
- ':right;}.ui-dialog-buttonset button {background-color:#3498db !important;border:1px ' +
- 'solid #222222 !important;background-image:none !important;text-shadow:1px 1px 1px #0' +
- '00000;font-size:16px;font-weight:bold;color:#FFF;font-family:Arial, Helvetica, Verda' +
- 'na, sans-serif !important;padding:2px 12px 3px 12px;margin-left:3px;}.ui-dialog-butt' +
- 'onset button:hover {background-color:#3cb0fd !important;}.ui-widget-overlay {positio' +
- 'n:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000;opacity:.60;' +
- 'filter:Alpha(Opacity=60);background-image:none !important;}.ui-tabs .ui-tabs-nav {di' +
- 'splay:block;margin:0;padding:0;border: none;background-color:#AAAAAA;background:#AAA' +
- 'AAA;}.ui-tabs .ui-tabs-nav li {list-style:none;float:left;margin:0 6px 1px 0;border:' +
- ' none;border-radius:0 !important;}a.ui-tabs-anchor:link {list-style:none;display:inl' +
- 'ine-block;margin:0 0 0 0;}a.ui-tabs-anchor:link, a.ui-tabs-anchor:visited {display:i' +
- 'nline-block;padding:2px 12px 3px 12px;background-color:#446382;color:#FFF;font-weigh' +
- 't:bold;text-decoration:none;}a.ui-tabs-anchor:hover, a.ui-tabs-anchor:active, a.ui-t' +
- 'abs-anchor:focus {background-color:#F5F5F5;color:#000;}.ui-tabs-active a.ui-tabs-anc' +
- 'hor:link, .ui-tabs-active a.ui-tabs-anchor:visited {background-color:#F5F5F5;color:#' +
- '000;}.ui-tabs-active a.ui-tabs-anchor:hover, .ui-tabs-active a.ui-tabs-anchor:active' +
- ', .ui-tabs-active a.ui-tabs-anchor:focus {background-color:#F5F5F5;color:#000;}.ui-t' +
- 'abs .ui-tabs-panel {clear:left;background-color:#F5F5F5;height:251px;padding:5px;bor' +
- 'der-radius:0 !important;}.ui-tabs .ui-tabs-panel p {padding:0 5px 3px 5px;margin:0 0' +
- ' 0 0;}div#lgSettingsTabs hr {margin:2px 0 2px 0;border: none;height: 1px;background-' +
- 'color:#AAAAAA;}div.lgSettingsPadder {padding:0 25px 0 25px;}label.lgSetCheckbox {pad' +
- 'ding:2px;display:block;line-height:16px;}label.lgSetCheckbox input[type="checkbox"] ' +
- '{margin-right:5px;line-height:16px;}div.lgSetRadioHeader {padding:2px 5px 2px 5px;li' +
- 'ne-height:16px;}label.lgSetRadio {padding:2px;display:inline-block;line-height:16px;' +
- '}label.lgSetRadio input[type="radio"] {margin-right:5px;line-height:16px;}div.lgSett' +
- 'ingsFooter {padding:3px;margin:0 0 0 0;font-size:10px;}').appendTo("head");
- $("body").append(
- '<div id="lgSettingsDialog" title="Link Guru - Settings"><div id="lgSettingsTabs"><ul' +
- '><li><a href="#tabs-1">Wikipedia</a></li><li><a href="#tabs-2">Wiktionary</a></li><l' +
- 'i><a href="#tabs-3">IMDb</a></li><li><a href="#tabs-4">Rotten Tomatoes</a></li><li><' +
- 'a href="#tabs-5">Google</a></li></ul><div id="tabs-1"><p>Add links to Wikipedia arti' +
- 'cles. The links are searches using the article's title as the search parameter.<' +
- '/p><hr /><label class="lgSetCheckbox"><input type="checkbox" name="lgSetWikipediaEna' +
- 'bled" id="lgSetWikipediaEnabled"><strong>Enabled</strong> - Enable/Disable Link Guru' +
- ' on Wikipedia</label><hr /><label class="lgSetCheckbox"><input type="checkbox" name=' +
- '"lgSetWikipediaNewtab" id="lgSetWikipediaNewtab"><strong>New Tab</strong> - Links wi' +
- 'll automatically open in a new tab.</label><hr /><div class="lgSetRadioHeader"><stro' +
- 'ng>Display Style</strong> - How the links are displayed.</div><div class="lgSettings' +
- 'Padder"><label class="lgSetRadio"><input type="radio" name="lgSetWikipediaStyle" val' +
- 'ue="0"><strong>Icon</strong></label><label class="lgSetRadio"><input type="radio" na' +
- 'me="lgSetWikipediaStyle" value="1"><strong>Text</strong></label><label class="lgSetR' +
- 'adio"><input type="radio" name="lgSetWikipediaStyle" value="2"><strong>Icon and Text' +
- '</strong></label></div></div><div id="tabs-2"><p>Add links to Wiktionary word pages.' +
- ' The links are other dictionaries and word related services.</p><hr /><label class="' +
- 'lgSetCheckbox"><input type="checkbox" name="lgSetWiktionaryEnabled" id="lgSetWiktion' +
- 'aryEnabled"><strong>Enabled</strong> - Enable/Disable Link Guru on Wiktionary</label' +
- '><hr /><label class="lgSetCheckbox"><input type="checkbox" name="lgSetWiktionaryNewt' +
- 'ab" id="lgSetWiktionaryNewtab"><strong>New Tab</strong> - Links will automatically o' +
- 'pen in a new tab.</label><hr /><div class="lgSetRadioHeader"><strong>Display Style</' +
- 'strong> - How the links are displayed.</div><div class="lgSettingsPadder"><label cla' +
- 'ss="lgSetRadio"><input type="radio" name="lgSetWiktionaryStyle" value="0"><strong>Ic' +
- 'on</strong></label><label class="lgSetRadio"><input type="radio" name="lgSetWiktiona' +
- 'ryStyle" value="1"><strong>Text</strong></label><label class="lgSetRadio"><input typ' +
- 'e="radio" name="lgSetWiktionaryStyle" value="2"><strong>Icon and Text</strong></labe' +
- 'l></div></div><div id="tabs-3"><p>Add search links to Movie, TV Series, Person, and ' +
- 'Character pages.</p><hr /><label class="lgSetCheckbox"><input type="checkbox" name="' +
- 'lgSetImdbEnabled" id="lgSetImdbEnabled"><strong>Enabled</strong> - Enable/Disable Li' +
- 'nk Guru on IMDb</label><hr /><label class="lgSetCheckbox"><input type="checkbox" nam' +
- 'e="lgSetImdbNewtab" id="lgSetImdbNewtab"><strong>New Tab</strong> - Links will autom' +
- 'atically open in a new tab.</label><hr /><div class="lgSetRadioHeader"><strong>Displ' +
- 'ay Style</strong> - How the links are displayed.</div><div class="lgSettingsPadder">' +
- '<label class="lgSetRadio"><input type="radio" name="lgSetImdbStyle" value="0"><stron' +
- 'g>Icon</strong></label><label class="lgSetRadio"><input type="radio" name="lgSetImdb' +
- 'Style" value="1"><strong>Text</strong></label><label class="lgSetRadio"><input type=' +
- '"radio" name="lgSetImdbStyle" value="2"><strong>Icon and Text</strong></label></div>' +
- '</div><div id="tabs-4"><p>Add search links to Movie and Person pages.</p><hr /><labe' +
- 'l class="lgSetCheckbox"><input type="checkbox" name="lgSetRottenEnabled" id="lgSetRo' +
- 'ttenEnabled"><strong>Enabled</strong> - Enable/Disable Link Guru on Rotten Tomatoes<' +
- '/label><hr /><label class="lgSetCheckbox"><input type="checkbox" name="lgSetRottenNe' +
- 'wtab" id="lgSetRottenNewtab"><strong>New Tab</strong> - Links will automatically ope' +
- 'n in a new tab.</label><hr /><div class="lgSetRadioHeader"><strong>Display Style</st' +
- 'rong> - How the links are displayed.</div><div class="lgSettingsPadder"><label class' +
- '="lgSetRadio"><input type="radio" name="lgSetRottenStyle" value="0"><strong>Icon</st' +
- 'rong></label><label class="lgSetRadio"><input type="radio" name="lgSetRottenStyle" v' +
- 'alue="1"><strong>Text</strong></label><label class="lgSetRadio"><input type="radio" ' +
- 'name="lgSetRottenStyle" value="2"><strong>Icon and Text</strong></label></div></div>' +
- '<div id="tabs-5"><p>Replaces the "Videos" tab on Google searches with a link to a Yo' +
- 'uTube search with the same search parameter.</p><hr /><label class="lgSetCheckbox"><' +
- 'input type="checkbox" name="lgSetGoogleEnabled" id="lgSetGoogleEnabled"><strong>Enab' +
- 'led</strong> - Enable/Disable Link Guru on Google</label><hr /><label class="lgSetCh' +
- 'eckbox"><input type="checkbox" name="lgSetGoogleDefinition" id="lgSetGoogleDefinitio' +
- 'n"><strong>Defintion Links</strong> - Add word related links to Google definition bo' +
- 'xes.</label></div></div><div class="lgSettingsFooter">Settings changes do not immedi' +
- 'ately take effect. A refresh is required.</div></div>');
- $("#lgSettingsTabs").tabs();
- $("#lgSettingsDialog").dialog({
- modal: true, resizable: false, autoOpen: false, width: 634,
- position: {my: "center top", at: "center top+120", of: window}
- });
- var settingsLink = $('<a href="#" id="lgSettingsLink">Link Guru Settings</a>');
- $(settingsLink).click(function (e) {
- e.preventDefault();
- $("#lgSettingsDialog").dialog("open");
- });
- // =======================================================================================================================
- // Stored Data Variables
- SetupBoolVariable("WikipediaEnabled", true);
- SetupBoolVariable("WiktionaryEnabled", true);
- SetupBoolVariable("RottenEnabled", true);
- SetupBoolVariable("ImdbEnabled", true);
- SetupBoolVariable("GoogleEnabled", true);
- SetupBoolVariable("WikipediaNewtab", false);
- SetupBoolVariable("WiktionaryNewtab", false);
- SetupBoolVariable("RottenNewtab", false);
- SetupBoolVariable("ImdbNewtab", false);
- SetupRadioVariable("WikipediaStyle", 2);
- SetupRadioVariable("WiktionaryStyle", 2);
- SetupRadioVariable("RottenStyle", 2);
- SetupRadioVariable("ImdbStyle", 2);
- SetupBoolVariable("GoogleDefinition", true);
- var links = [];
- // =======================================================================================================================
- // WIKIPEDIA
- if (UrlContains("wikipedia.org") && window.top === window.self) {
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "google"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "googleimage"]);
- links.push(["YouTube", "YouTube search for {{PARAM}}", "https://www.youtube.com/results?search_query={{PARAM}}", "youtube"]);
- if ($("ul > li > a.external[href*='www.imdb.com']").length) {
- links.push(["IMDb", "IMDb - {{PARAM}}", $("ul > li > a.external[href*='www.imdb.com']").attr('href'), "imdb"]);
- } else {
- links.push(["IMDb", "IMDb search for {{PARAM}}", "http://www.imdb.com/find?s=all&q={{PARAM}}", "imdb"]);
- }
- if ($("a[href='/wiki/Portal:Anime_and_Manga']").length) {
- links.push(["MyAnimeList", "MyAnimeList search for {{PARAM}}", "https://myanimelist.net/search/all?q={{PARAM}}", "myanimelist"]);
- }
- links.push(["Pirate Bay", "The Pirate Bay search for {{PARAM}}", "https://thepiratebay.org/search/{{PARAM}}/0/99/0", "thepiratebay"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- links.push(["last.fm", "Last.fm search for {{PARAM}}", "http://www.last.fm/search?q={{PARAM}}&type=track", "lastfm"]);
- $("#p-navigation > div.body > ul").append($("<li></li>").append(settingsLink));
- if (lgSettings['WikipediaEnabled'] && !UrlContains("/wiki/Main_Page")
- && !UrlContains("/wiki/Portal:") && !UrlContains("/wiki/Talk:")
- && $("h1#firstHeading") && $("li#ca-nstab-main.selected")) {
- var pageTitle = $("h1#firstHeading").text();
- pageTitle = pageTitle.lgReplaceAll("<i>", "").lgReplaceAll("</i>", "");
- pageTitle = pageTitle.lgReplaceAll("=", "%3D").lgReplaceAll("=", "%3D").lgReplaceAll("=", "%3D");
- pageTitle = pageTitle.lgReplaceAll("&", "%26").lgReplaceAll("&", "%26").lgReplaceAll("&", "%26");
- pageTitle = pageTitle.replace(" (film)", "").replace("(film)", "").replace(" film)", ")");
- $(CreateLinkContainer(links, pageTitle, lgSettings["WikipediaStyle"], lgSettings["WikipediaNewtab"])).insertBefore("h1#firstHeading");
- $('div#lgLinkContainer').css({'float': 'right', 'padding': '10px 0 10px 0'});
- if ($('div.mw-indicators').children().length > 0) {
- $('div.mw-indicators').css({'padding-left': '25px'});
- }
- }
- }
- // =======================================================================================================================
- // WIKTIONARY
- if (UrlContains("wiktionary.org") && window.top === window.self) {
- links.push(["Merriam-Webster", "Merriam-Webster Dictionary and Thesaurus", "http://www.merriam-webster.com/dictionary/{{PARAM}}", "merriamwebster"]);
- links.push(["Thesaurus.com", "Thesaurus.com", "http://thesaurus.com/browse/{{PARAM}}", "thesaurus"]);
- links.push(["Google", "Google search for define:{{PARAM}}", "http://www.google.com/search?output=search&q=define:{{PARAM}}", "google"]);
- links.push(["Synonym.com", "Synonym.com", "http://www.synonym.com/synonyms/{{PARAM}}/", "synonym"]);
- links.push(["Wikisaurus", "Wikisaurus", "http://wiktionary.org/wiki/Wikisaurus:{{PARAM}}", "wiktionary"]);
- links.push(["One Look", "One Look", "http://www.onelook.com/?w={{PARAM}}&ls=a", "onelook"]);
- links.push(["Wolfram|Alpha", "Wolfram|Alpha", "http://www.wolframalpha.com/input/?i={{PARAM}}", "wolframalpha"]);
- links.push(["Urban Dictionary", "Urban Dictionary", "http://www.urbandictionary.com/define.php?term={{PARAM}}", "urbandictionary"]);
- links.push(["iTools", "iTools", "http://itools.com/language/dictionary?q={{PARAM}}&submit=English+Dictionary", "itools"]);
- links.push(["Vocabulary.com", "Vocabulary.com Dictionary", "http://www.vocabulary.com/dictionary/{{PARAM}}", "vocabulary"]);
- links.push(["Cambridge", "Cambridge Dictionary", "http://dictionary.cambridge.org/dictionary/english/{{PARAM}}", "cambridge"]);
- links.push(["RhymeZone", "RhymeZone", "http://www.rhymezone.com/r/rhyme.cgi?Word={{PARAM}}&typeofrhyme=perfect&org1=syl&org2=l&org3=y", "rhymezone"]);
- links.push(["Online Etymology", "Online Etymology Dictionary", "http://www.etymonline.com/index.php?search={{PARAM}}", "etymonline"]);
- links.push(["howjsay", "howjsay: Online Dictionary of English Pronunciation", "http://howjsay.com/index.php?word={{PARAM}}", "howjsay"]);
- $("#p-navigation > div.body > ul").append($("<li></li>").append(settingsLink));
- if (lgSettings["WiktionaryEnabled"] && !UrlContains("/wiki/Wiktionary:Main_Page")
- && !UrlContains("/wiki/Index:") && !UrlContains("/wiki/Talk:")
- && !UrlContains("/wiki/Special:") && !UrlContains("/wiki/Category:")
- && $("h1#firstHeading") && $("li#ca-nstab-main.selected")) {
- var pageTitle = $("h1#firstHeading").text().lgReplaceAll("<i>", "").lgReplaceAll("</i>", "");
- $(CreateLinkContainer(links, pageTitle, lgSettings["WiktionaryStyle"], lgSettings["WiktionaryNewtab"])).insertBefore("h1#firstHeading");
- $("div#lgLinkContainer").css({"float": "right", "padding": "10px 0 10px 0"});
- }
- }
- // =======================================================================================================================
- // Rotten Tomatoes
- if (UrlContains("www.rottentomatoes.com") && window.top === window.self) {
- $("div.header_links").prepend(settingsLink);
- if (lgSettings["RottenEnabled"]) {
- if (UrlContains("rottentomatoes.com/m/")) {
- links.push(["YouTube", "YouTube search for {{PARAM}} trailer", "http://www.youtube.com/results?search_query={{PARAM}} trailer", "youtube"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "google"]);
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "googleimage"]);
- links.push(["Wikipedia", "Wikipedia search for {{PARAM}}", "http://en.wikipedia.org/w/index.php?title=Special:Search&search={{PARAM}}", "wikipedia"]);
- links.push(["IMDb", "IMDb search for {{PARAM}}", "http://www.imdb.com/find?s=all&q={{PARAM}}", "imdb"]);
- links.push(["MetaCritic", "MetaCritic search for {{PARAM}}", "http://www.metacritic.com/search/all/{{PARAM}}/results", "metacritic"]);
- links.push(["AllMovie", "AllMovie search for {{PARAM}}", "http://www.allmovie.com/search/movies/{{PARAM}}", "allmovie"]);
- links.push(["Box Office Mojo", "Box Office Mojo search for {{PARAM}}", "http://www.boxofficemojo.com/search/?q={{PARAM}}", "boxofficemojo"]);
- links.push(["Movie Mistakes", "Movie Mistakes search for {{PARAM}}", "http://www.moviemistakes.com/search.php?text={{PARAM}}", "moviemistakes"]);
- links.push(["Letterboxd", "Letterboxd search for {{PARAM}}", "http://letterboxd.com/search/{{PARAM}}/", "letterboxd"]);
- links.push(["Pirate Bay", "The Pirate Bay search for {{PARAM}}", "http://thepiratebay.org/search/{{PARAM}}/0/99/200", "thepiratebay"]);
- links.push(["YIFY Subtitles", "YIFY Subtitles search for {{PARAM}}", "http://www.yifysubtitles.com/search?q={{PARAM}}", "yifysubtitles"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- var titleText = $("h1.title.hidden-xs").html().split("<span")[0].trim();
- titleText = titleText.lgReplaceAll("/", " ").lgReplaceAll("\\", " ");
- $(CreateLinkContainer(links, titleText, lgSettings["RottenStyle"], lgSettings["RottenNewtab"])).insertBefore("div#topSection");
- $("div#lgLinkContainer").css({"padding": "8px 0 8px 0", "margin-bottom": "0"});
- $("div#topSection").css({"margin-top": "0"});
- } else if (UrlContains("rottentomatoes.com/tv/")) {
- links.push(["YouTube", "YouTube search for {{PARAM}} trailer", "http://www.youtube.com/results?search_query={{PARAM}} trailer", "youtube"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "google"]);
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "googleimage"]);
- links.push(["Wikipedia", "Wikipedia search for {{PARAM}}", "http://en.wikipedia.org/w/index.php?title=Special:Search&search={{PARAM}}", "wikipedia"]);
- links.push(["IMDb", "IMDb search for {{PARAM}}", "http://www.imdb.com/find?s=all&q={{PARAM}}", "imdb"]);
- links.push(["MetaCritic", "MetaCritic search for {{PARAM}}", "http://www.metacritic.com/search/all/{{PARAM}}/results", "metacritic"]);
- links.push(["AllMovie", "AllMovie search for {{PARAM}}", "http://www.allmovie.com/search/movies/{{PARAM}}", "allmovie"]);
- links.push(["Box Office Mojo", "Box Office Mojo search for {{PARAM}}", "http://www.boxofficemojo.com/search/?q={{PARAM}}", "boxofficemojo"]);
- links.push(["Movie Mistakes", "Movie Mistakes search for {{PARAM}}", "http://www.moviemistakes.com/search.php?text={{PARAM}}", "moviemistakes"]);
- links.push(["Letterboxd", "Letterboxd search for {{PARAM}}", "http://letterboxd.com/search/{{PARAM}}/", "letterboxd"]);
- links.push(["Episode Calendar", "Episode Calendar search for {{PARAM}}", "http://episodecalendar.com/en/shows?q[name_cont]={{PARAM}}", "episodecalendar"]);
- links.push(["Pirate Bay", "The Pirate Bay search for {{PARAM}}", "http://thepiratebay.org/search/{{PARAM}}/0/99/200", "thepiratebay"]);
- links.push(["YIFY Subtitles", "YIFY Subtitles search for {{PARAM}}", "http://www.yifysubtitles.com/search?q={{PARAM}}", "yifysubtitles"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- if (document.URL.split("/tv/")[1].split("/").length > 1) {
- var titleText = $("h1.movie_title").html().split("<span")[0].split(": Season")[0].split(": season")[0].trim();
- titleText = titleText.lgReplaceAll("/", " ").lgReplaceAll("\\", " ");
- $(CreateLinkContainer(links, titleText, lgSettings["RottenStyle"], lgSettings["RottenNewtab"])).insertAfter("div#season_score_panel");
- $("div#lgLinkContainer").css({"padding": "8px 0 8px 0", "margin-bottom": "0", "float": "left", "width": "70%"});
- } else {
- var titleText = $('h1.title').html().split("<span")[0].trim();
- titleText = titleText.lgReplaceAll("/", " ").lgReplaceAll("\\", " ");
- $(CreateLinkContainer(links, titleText, lgSettings["RottenStyle"], lgSettings["RottenNewtab"])).insertBefore("div#series_info");
- $("div#lgLinkContainer").css({"padding": "8px 0 8px 0", "margin-bottom": "0", "float": "left", "width": "70%"});
- }
- } else if (UrlContains("rottentomatoes.com/celebrity/")) {
- links.push(["YouTube", "YouTube search for {{PARAM}} interview", "http://www.youtube.com/results?search_query={{PARAM}} interview", "youtube"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "google"]);
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "googleimage"]);
- links.push(["Wikipedia", "Wikipedia search for {{PARAM}}", "http://en.wikipedia.org/w/index.php?title=Special:Search&search={{PARAM}}", "wikipedia"]);
- links.push(["IMDb", "IMDb search for {{PARAM}}", "http://www.imdb.com/find?s=nm&q={{PARAM}}", "imdb"]);
- links.push(["MetaCritic", "MetaCritic search for {{PARAM}}", "http://www.metacritic.com/search/person/{{PARAM}}/results", "metacritic"]);
- links.push(["AllMovie", "AllMovie search for {{PARAM}}", "http://www.allmovie.com/search/people/{{PARAM}}", "allmovie"]);
- links.push(["Box Office Mojo", "Box Office Mojo search for {{PARAM}}", "http://www.boxofficemojo.com/search/?q={{PARAM}}", "boxofficemojo"]);
- links.push(["Letterboxd", "Letterboxd search for {{PARAM}}", "http://letterboxd.com/search/{{PARAM}}/", "letterboxd"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- var titleText = $("div.celeb_name > h1").text();
- $(CreateLinkContainer(links, titleText, lgSettings["RottenStyle"], lgSettings["RottenNewtab"])).appendTo("div.celeb_name");
- $("div.celeb_name > h1").css({"border-bottom": "none", "margin-bottom": "0", "padding-bottom": "0"});
- }
- }
- }
- // =======================================================================================================================
- // IMDb
- if (UrlContains("www.imdb.com") && window.top === window.self) {
- $(settingsLink).css({"color": "white"});
- $("<div></div>").css({"font-size": "10px", "height": "15px", "line-height": "15px", "padding-left": "3px"}).append(settingsLink).prependTo("div#nb20");
- $("div#navbar").css({"margin-top": "0"});
- if (lgSettings["ImdbEnabled"]) {
- if (UrlContains("/title/") && !UrlContains("/characters/")) {
- links.push(["YouTube", "YouTube search for {{PARAM}} tralier", "http://www.youtube.com/results?search_query={{PARAM}} trailer", "youtube"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "google"]);
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "googleimage"]);
- links.push(["Wikipedia", "Wikipedia search for {{PARAM}}", "http://en.wikipedia.org/w/index.php?title=Special:Search&search={{PARAM}}", "wikipedia"]);
- links.push(["Rotten Tomatoes", "Rotten Tomatoes search for {{PARAM}}", "http://www.rottentomatoes.com/search/?search={{PARAM}}&sitesearch=rt", "rottentomatoes"]);
- links.push(["MetaCritic", "MetaCritic search for {{PARAM}}", "http://www.metacritic.com/search/all/{{PARAM}}/results", "metacritic"]);
- links.push(["AllMovie", "AllMovie search for {{PARAM}}", "http://www.allmovie.com/search/movies/{{PARAM}}", "allmovie"]);
- links.push(["Box Office Mojo", "Box Office Mojo search for {{PARAM}}", "http://www.boxofficemojo.com/search/?q={{PARAM}}", "boxofficemojo"]);
- links.push(["Movie Mistakes", "Movie Mistakes search for {{PARAM}}", "http://www.moviemistakes.com/search.php?text={{PARAM}}", "moviemistakes"]);
- links.push(["Letterboxd", "Letterboxd search for {{PARAM}}", "http://letterboxd.com/search/{{PARAM}}/", "letterboxd"]);
- links.push(["Episode Calendar", "Episode Calendar search for {{PARAM}}", "http://episodecalendar.com/en/shows?q[name_cont]={{PARAM}}", "episodecalendar"]);
- links.push(["Pirate Bay", "The Pirate Bay search for {{PARAM}}", "http://thepiratebay.org/search/{{PARAM}}/0/99/200", "thepiratebay"]);
- links.push(["YIFY Subtitles", "YIFY Subtitles search for {PARAM}}", "http://www.yifysubtitles.com/search?q={{PARAM}}", "yifysubtitles"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- var titleText = $("div.title_wrapper > h1").html().split(" <span")[0].trim();
- titleText = titleText.lgReplaceAll("/", " ").lgReplaceAll("\\", " ");
- titleText = titleText.lgReplaceAll(" ", " ").trim();
- $(CreateLinkContainer(links, titleText, lgSettings["ImdbStyle"], lgSettings["ImdbNewtab"])).insertAfter("div.titleBar");
- $("div#lgLinkContainer").css({"padding": "5px 0 0 20px"});
- } else if (UrlContains("/name/")) {
- links.push(["YouTube", "YouTube search for {{PARAM}} interview", "http://www.youtube.com/results?search_query={{PARAM}} interview", "youtube"]);
- links.push(["Google Image", "Google Image search for {{PARAM}}", "http://www.google.com/search?tbm=isch&q={{PARAM}}", "google"]);
- links.push(["Google", "Google search for {{PARAM}}", "http://www.google.com/search?output=search&q={{PARAM}}", "googleimage"]);
- links.push(["Wikipedia", "Wikipedia search for {{PARAM}}", "http://en.wikipedia.org/w/index.php?title=Special:Search&search={{PARAM}}", "wikipedia"]);
- links.push(["Rotten Tomatoes", "Rotten Tomatoes search for {{PARAM}}", "http://www.rottentomatoes.com/search/?search={{PARAM}}&sitesearch=rt", "rottentomatoes"]);
- links.push(["MetaCritic", "MetaCritic search for {{PARAM}}", "http://www.metacritic.com/search/person/{{PARAM}}/results", "metacritic"]);
- links.push(["AllMovie", "AllMovie search for {{PARAM}}", "http://www.allmovie.com/search/people/{{PARAM}}", "allmovie"]);
- links.push(["Box Office Mojo", "Box Office Mojo search for {{PARAM}}", "http://www.boxofficemojo.com/search/?q={{PARAM}}", "boxofficemojo"]);
- links.push(["Letterboxd", "Letterboxd search for {{PARAM}}", "http://letterboxd.com/search/{{PARAM}}/", "letterboxd"]);
- links.push(["Imgur", "Imgur search for {{PARAM}}", "http://imgur.com/search?q={{PARAM}}", "imgur"]);
- var titleText = $('h1.header > span.itemprop').text();
- $(CreateLinkContainer(links, titleText, lgSettings["ImdbStyle"], lgSettings["ImdbNewtab"])).insertAfter("div.infobar");
- $("div#name-job-categories").css({"margin-bottom": "4px"});
- }
- }
- }
- // =======================================================================================================================
- // GOOGLE
- if (lgSettings["GoogleEnabled"] && UrlContains("www.google.") && window.top === window.self) {
- PersistFunction(function () {
- var xs = document.URL.split("?")[1];
- if (xs.indexOf("#q=") !== -1) {
- xs = xs.split("#")[1];
- }
- xs = xs.split("q=")[1].split("&")[0].split("#")[0];
- $("a.q.qs").filter(function (index) {
- return $(this).text() === "Videos" || $(this).text() === "Video's";
- }).text("YouTube").attr("href", "http://www.youtube.com/results?search_query=" + xs);
- $("div._sxc > a._UXb._Jhd").filter(function (index) {
- return $(this).text() === "Videos" || $(this).text() === "Video's";
- }).text("YouTube").attr("href", "http://www.youtube.com/results?search_query=" + xs);
-
- if (lgSettings["GoogleDefinition"] && $("#dictionary-modules").length && !$("div#lgLinkContainer").length) {
- var wordHeader = $("#dictionary-modules > div > div > div > div > div > div > span").parent();
- var word = $(wordHeader).text();
- links.push(["Wiktionary", "Wiktionary page on {{PARAM}}", "https://en.wiktionary.org/wiki/{{PARAM}}", "wiktionary"]);
- links.push(["Merriam-Webster", "Merriam-Webster Dictionary and Thesaurus", "http://www.merriam-webster.com/dictionary/{{PARAM}}", "merriamwebster"]);
- links.push(["Thesaurus.com", "Thesaurus.com", "http://thesaurus.com/browse/{{PARAM}}", "thesaurus"]);
- links.push(["Google", "Google search for define:{{PARAM}}", "http://www.google.com/search?output=search&q=define:{{PARAM}}", "googleimage"]);
- links.push(["Synonym.com", "Synonym.com", "http://www.synonym.com/synonyms/{{PARAM}}/", "synonym"]);
- links.push(["Wikisaurus", "Wikisaurus", "http://wiktionary.org/wiki/Wikisaurus:{{PARAM}}", "wiktionary"]);
- links.push(["One Look", "One Look", "http://www.onelook.com/?w={{PARAM}}&ls=a", "onelook"]);
- links.push(["Wolfram|Alpha", "Wolfram|Alpha", "http://www.wolframalpha.com/input/?i={{PARAM}}", "wolframalpha"]);
- links.push(["Urban Dictionary", "Urban Dictionary", "http://www.urbandictionary.com/define.php?term={{PARAM}}", "urbandictionary"]);
- links.push(["iTools", "iTools", "http://itools.com/language/dictionary?q={{PARAM}}&submit=English+Dictionary", "itools"]);
- links.push(["Vocabulary.com", "Vocabulary.com Dictionary", "http://www.vocabulary.com/dictionary/{{PARAM}}", "vocabulary"]);
- links.push(["Cambridge", "Cambridge Dictionary", "http://dictionary.cambridge.org/dictionary/english/{{PARAM}}", "cambridge"]);
- links.push(["RhymeZone", "RhymeZone", "http://www.rhymezone.com/r/rhyme.cgi?Word={{PARAM}}&typeofrhyme=perfect&org1=syl&org2=l&org3=y", "rhymezone"]);
- links.push(["Online Etymology", "Online Etymology Dictionary", "http://www.etymonline.com/index.php?search={{PARAM}}", "etymonline"]);
- links.push(["howjsay", "howjsay: Online Dictionary of English Pronunciation", "http://howjsay.com/index.php?word={{PARAM}}", "howjsay"]);
-
- $(CreateLinkContainer(links, word, 0, false)).insertAfter(wordHeader);
- $("div#lgLinkContainer").css({"margin-bottom": "0"});
- }
-
- }, 500);
- }
- // =======================================================================================================================
- // End Brace for document.ready function
- });
-
- String.prototype.lgReplaceAll = function (f, r) {
- return this.split(f).join(r);
- };
-
- function UrlContains(urlfragment) {
- return document.URL.indexOf(urlfragment) !== -1;
- }
-
- function PersistFunction(functionToFire, delay) {
- delay = delay || 2500;
- new MutationObserver(function () {
- setTimeout(function () {
- functionToFire();
- }, delay);
- }).observe(document.body, {childList: true, subtree: true});
- }
-
- function CreateLinkContainer(linkList, urlfragment, linkStyle, newTab) {
- var linkContainter = $('<div id="lgLinkContainer"></div>');
- for (var i = 0; i < linkList.length; i++) {
- var linkData = linkList[i];
- var linkElement = $("<a></a>")
- .attr("title", linkData[1].replace("{{PARAM}}", urlfragment))
- .attr("href", linkData[2].replace("{{PARAM}}", urlfragment));
- if (linkStyle !== 1) {
- $("<img />")
- .attr("src", (LITTLE_SITE_ICONS && LITTLE_SITE_ICONS[linkData[3]] ?
- LITTLE_SITE_ICONS[linkData[3]] : unknownIcon))
- .attr("alt", linkData[0])
- .appendTo(linkElement);
- }
- if (linkStyle !== 0) {
- $("<span></span>")
- .text(linkData[0])
- .appendTo(linkElement);
- }
- if (newTab) {
- $(linkElement).attr("target", "_blank");
- }
- $(linkContainter).append(linkElement);
- if (i + 1 < linkList.length) {
- $(linkContainter).append(document.createTextNode((linkStyle !== 1 ? " " : " | ")));
- }
- }
- return linkContainter;
- }
-
- function SetupBoolVariable(variableIndex, defaultValue) {
- lgSettings[variableIndex] = GM_getValue(variableIndex, defaultValue);
- $("#lgSet" + variableIndex).prop("checked", lgSettings[variableIndex]).change(function () {
- lgSettings[variableIndex] = this.checked ? true : false;
- GM_setValue(variableIndex, lgSettings[variableIndex]);
- });
- }
-
- function SetupRadioVariable(variableIndex, variableMax) {
- lgSettings[variableIndex] = GM_getValue(variableIndex, 0);
- $("input[name='lgSet" + variableIndex + "'][value='" + lgSettings[variableIndex] + "']")
- .prop('checked', true);
- $("input[name='lgSet" + variableIndex + "']").change(function () {
- lgSettings[variableIndex] = $(this).filter(":checked").val();
- GM_setValue(variableIndex, lgSettings[variableIndex]);
- });
- }