LargeBooru

Increases the thumbnail size for Danbooru

Устаревшая версия за 01.12.2015. Перейдите к последней версии.

// ==UserScript==
// @name          LargeBooru
// @namespace     largebooru
// @version       1.04
// @description   Increases the thumbnail size for Danbooru
// @run-at        document-end
// @include       http://*.donmai.us/*
// @include       https://*.donmai.us/*
// @exclude       http://*.donmai.us/comments*
// @exclude       https://*.donmai.us/comments*
// ==/UserScript==

//----User defined variables----
var dimensions = 300
var gap = 10
//------------------------------

var db = dimensions + gap + "px";
var d = dimensions + "px";
var indexa = document.getElementsByClassName("post-preview");
var indexb = document.getElementsByTagName("img");

for (var x = 0; x < indexa.length; x++) {
    var Data = indexa[x];
    var Image = indexb[x];
    if (Image.id !== "image") {
        var ext = Data.getAttribute("data-file-ext");
        if (ext == "gif" || ext == "jpg" || ext == "png") {
            Image.setAttribute("src", Data.getAttribute("data-large-file-url"));
        } else if (ext == "webm" || ext == "mp4" || ext == "zip") {
            var Video = document.createElement("video");    
            Video.setAttribute("autoplay","autoplay");
            Video.setAttribute("loop","loop");
            var Source = "data-file-url";
            if (ext == "zip") Source = "data-large-file-url";
            Video.setAttribute("src",Data.getAttribute(Source));
            Video.setAttribute("height",Data.getAttribute("data-height"));
            Video.setAttribute("width",Data.getAttribute("data-width"));
            Video.volume = 0.0;
            Video.style.height = db;
            Video.style.width = db;
            Video.style.maxHeight = d;
            Video.style.maxWidth = d;
            Image.parentNode.insertBefore(Video, Image);
            Image.style.visibility = "hidden";
        } else {
            var width = Data.getAttribute("data-width");
            var height = Data.getAttribute("data-height");
            var denom = Math.max(width, height) / dimensions;
            var newwidth = Math.round(width / denom);
            var newheight = Math.round(height / denom);
            Image.style.width = newwidth + 'px';
            Image.style.height = newheight + 'px';
        }
        Data.style.height = db;
        Data.style.width = db;
        Data.style.margin = 0;
        Data.style.lineHeight = db;
        Image.style.maxHeight = d;
        Image.style.maxWidth = d;
    }
}