您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Create GitHub Resource Download Link.
当前为
// ==UserScript== // @name DownGit // @namespace http://mogeko.me // @version 0.0.2 // @description Create GitHub Resource Download Link. // @author mogeko // @match https://github.com/*/* // @match https://github.com/*/*/tree/*/* // @exclude https://github.com/*/*/blob/*/* // @icon https://github.githubassets.com/favicons/favicon.png // @run-at document-idle // @grant none // ==/UserScript== /** * <div role="row"> * <div><svg class={{icon}}/></div>, * <div><span><a>{{name}}</a></span></div>, * <div><span><a>{{message}}</a></span></div>, * <div><span>{time}</span></div>, * </div> */ const svg_icon = `<svg class="octicon octicon-download hx_color-icon-directory" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"/></svg>`; const downloader = (local_url) => { const meta = local_url.split("/").filter((str) => str); console.log(meta); if (meta[4] == "tree") { return `https://minhaskamal.github.io/DownGit/#/home?url=${local_url}`; } else if (meta[4] == "blob") { const file = meta.slice(6).join("/"); return `https://cdn.jsdelivr.net/gh/${meta[2]}/${meta[3]}@${meta[5]}/${file}`; } else { return local_url; } }; const getButton = (url_node, downloader) => { const div = document.createElement("div"); div.className = "mr-3 flex-shrink-0"; const a = document.createElement("a"); a.href = downloader(url_node.href); a.title = `Download ${url_node.innerHTML}`; a.innerHTML = svg_icon; div.appendChild(a); return div; }; (function () { "use strict"; const context = document.querySelectorAll("div.Box-row"); context.forEach((node) => { const url = node.querySelector("a"); const last_child = node.querySelector("div.text-right"); if (url.querySelector("span")) return; const button = getButton(url, downloader); node.insertBefore(button, last_child); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址