Greasy Fork

Greasy Fork is available in English.

MangaDex Downloader - Gallery-dl

Batch download mangadex manga with Gallery-dl

当前为 2024-08-22 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         MangaDex Downloader - Gallery-dl
// @version      2.0.1
// @description  Batch download mangadex manga with Gallery-dl
// @author       Gondola#7671
// @grant        GM_addStyle
// @grant        GM_setClipboard
// @run-at       document-idle
// @match        https://mangadex.org/*
// @compatible   firefox
// @compatible   chrome
// @namespace http://greasyfork.icu/users/581457
// ==/UserScript==

//TODO: Fix input background when page resizes
(function() {



    // USER VARIABLES
    var language_filter = "en"


   GM_addStyle(" #gallery-dl { color: #fff; font-weight: 500; } #gallery-dl { background-color: #FF6740 !important; height: 40px; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; margin-right: 0px !important; transition: background-color .1s ease-out, color .1s ease-out; } #gallery-dl:hover { background-color: #cc5233 !important;; } #gallery-dl:active { background-color: #993e26 !important;; } .gallery-dl_input { background-color: #333333aa !important; width: 54px; height: 40px; text-align: center; border-radius: 0.25rem; } .gallery-dl_input:focus-visible { outline: none; } #gallery-dl_to_text { background-color: #333333aa !important; padding-left: 7px; padding-right: 7px; padding-top: 3px; padding-bottom: 3px; user-select: none; } #gallery_dl_from { border-top-left-radius: 0px; border-bottom-left-radius: 0px; } #icon_download { width: 24px; rotate: 180deg; float: left; margin-top: 2px; margin-left: 10px; margin-right: 10px } #gallery-dl-container{ display:flex; align-items:center; float:left; margin-left:15px; }")


    function gallery_all()
    {
        var gall_from = 0
        var gall_to = 99999

        if(document.getElementById("gallery_dl_from").value != "")
        {
            gall_from = document.getElementById("gallery_dl_from").value
        }

        if(document.getElementById("gallery_dl_to").value != "")
        {
            gall_to = document.getElementById("gallery_dl_to").value
        }

        if(document.getElementById("gallery_dl_from").value === "" && document.getElementById("gallery_dl_to").value === "")
        {
            GM_setClipboard("gallery-dl --chapter-filter \"lang == '" + language_filter + "'\" \"" + window.location.href + "\"")
        }
        else
        {
            GM_setClipboard("gallery-dl --chapter-filter \"lang == '" + language_filter + "' and " + gall_from + " <= chapter < " + gall_to + "\" \"" + window.location.href + "\"")
        }
    }


    var page_loaded = false

    setInterval(function()
    {
            while(!page_loaded){
        document.getElementsByClassName("nav-bar")[0].insertAdjacentHTML( 'afterbegin', '<div id="gallery-dl-container"><button style="margin-right:3px;" id="gallery-dl" title="Enter the starting and ending chapters to download with Gallery-dl\n(leave blank for all chapters)" class="btn btn-secondary"><span id="gallery-dl_text"><svg id="icon_download" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-upload text-currentColor icon"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg></span></button> <input id="gallery_dl_from" class="gallery-dl_input" type="text"></input><span id="gallery-dl_to_text">to</span><input id="gallery_dl_to" class="gallery-dl_input" type="text"></input><br></div>' );
        document.getElementById("gallery-dl").addEventListener("click", gallery_all)
        if(window.getComputedStyle(document.getElementsByClassName("bg-background")[0]).backgroundColor == "rgb(255, 255, 255)")
        {
        console.log("White");
             document.getElementById("gallery_dl_from").style.backgroundColor = "var(--md-accent)"
            document.getElementById("gallery_dl_to").style.backgroundColor = "var(--md-accent)"
            document.getElementById("gallery-dl_to_text").style.backgroundColor = "var(--md-accent)"
        }
        if(document.getElementsByClassName("nav-bar").length != 0)
        {
        page_loaded = true
        }
  }
    }, 500);




    window.onscroll = function() {scrollChangeStyle()};

    function scrollChangeStyle()
    {
        if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100)
        {
            document.getElementById("gallery_dl_from").style.backgroundColor = "var(--md-accent)"
            document.getElementById("gallery_dl_to").style.backgroundColor = "var(--md-accent)"
            document.getElementById("gallery-dl_to_text").style.backgroundColor = "var(--md-accent)"
        }
        else
        {
            document.getElementById("gallery_dl_from").style.backgroundColor = "var(--md-background-translucent)"
            document.getElementById("gallery_dl_to").style.backgroundColor = "var(--md-background-translucent)"
            document.getElementById("gallery-dl_to_text").style.backgroundColor = "var(--md-background-translucent)"
        }
    }

    /*Hides script on non-"title" urls*/
    setInterval(function(){
        if(window.location.href.includes("title"))
        {
            document.getElementById("gallery-dl").style.display = ""
            document.getElementById("gallery_dl_from").style.display = ""
            document.getElementById("gallery_dl_to").style.display = ""
            document.getElementById("gallery-dl_to_text").style.display = ""
        }else{
            console.log("doesn't include title")
            document.getElementById("gallery-dl").style.display = "none"
            document.getElementById("gallery_dl_from").style.display = "none"
            document.getElementById("gallery_dl_to").style.display = "none"
            document.getElementById("gallery-dl_to_text").style.display = "none"
        }

    }, 1000)

})();