1
0
Fork 0
mirror of https://github.com/Phantop/dotfiles synced 2024-11-02 12:54:39 +00:00
dotfiles/.local/share/qutebrowser/greasemonkey/index.js
2018-11-14 20:01:37 -05:00

49 lines
1.7 KiB
JavaScript

// ==UserScript==
// @name Mangadex HQ Covers
// @version 0.7
// @description try to take over the world!
// @author AviKav
// @match https://*.mangadex.org
// @match https://*.mangadex.org/titles
// @match https://*.mangadex.org/search
// @match https://*.mangadex.org/featured
// @match https://*.mangadex.org/follows/manga*
// @match https://*.mangadex.org/quick_search
// @grant none
// @run-at document-end
// ==/UserScript==
(function () {
'use strict';
const thumbnailUrlSubstrings = ['.thumb', '.large'];
const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif']; // Order in which to check for images
let tags = document.getElementsByTagName('img');
// let oldtags = tags;
for (let tag of tags) {
let originalImageUrl = tag.src;
if (!(originalImageUrl.includes(thumbnailUrlSubstrings[0]) || // Yeah, I'm too lazy to iterate through the array, `break` the inner loop, and `continue1 the outer loop.
originalImageUrl.includes(thumbnailUrlSubstrings[1]))) {
continue;
}
console.log(tag)
// I can't regex
let cutUrl = originalImageUrl.replace('https://mangadex.org/images/manga/', '');
let seriesID = cutUrl.split('.')[0];
let partialUrl = 'https://mangadex.org/images/manga/' + seriesID;
(async () => {
for (let extension of imageExtensions) {
let potentialImageUrl = partialUrl + extension;
let response = await fetch(potentialImageUrl, { method: 'HEAD' });
if (response.ok) {
tag.src = potentialImageUrl;
return;
}
}
})();
}
})();