Automatically promotes twitter image links to :orig, such as from :large.
// ==UserScript== // @name Twitter Image :orig Promoter // @version 0.6 // @description Automatically promotes twitter image links to :orig, such as from :large. // @author Cro // @match https://pbs.twimg.com/media/* // @grant none // @namespace https://greasyfork.org/users/10865 // @icon https://www.google.com/s2/favicons?domain=twitter.com // @license MIT // ==/UserScript== (function () { "use strict"; var queryVars = function(str) { return str.replace(/^\?/, '').split('&').map(x => x.split('=')).reduce((a, [k, v]) => { a[k] = v; return a; }, {}); }; // Check if this page contains a single image whose source is also the location. var image = document.getElementsByTagName('img')[0]; if (image && image.getAttribute('src') == location.href) { var pathname = location.pathname; // Check if we already have the orig modifier if (!pathname.match(/:orig$/)) { // Trim modifiers. var idx = pathname.lastIndexOf(':'); if (idx >= 0) { pathname = pathname.substr(0, idx); } // Check if we need to append the file type. var format = queryVars(location.search).format; if (format && !location.pathname.endsWith(format)) { pathname += '.' + format; } // Add the modifier. pathname += ':orig'; window.location = pathname; } } })();