您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays small images in place of file-type icons in the repository source tree
当前为
// ==UserScript== // @name GitHub images as icons // @description Displays small images in place of file-type icons in the repository source tree // @namespace wOxxOm.scripts // @include https://github.com/* // @match https://github.com/* // @version 1.02 // @grant GM_addStyle // @run-at document-start // ==/UserScript== iconSize = 24; function addStyle(e) { GM_addStyle('.wOxxOm-image-icon { max-width:'+iconSize+'px; max-height:'+iconSize+'px; width:auto; height:auto; margin:auto;'+ 'position:absolute; left:0; top:0; right:0; bottom:0 }'+ '.wOxxOm-image-td { position:relative; padding:0; min-width:'+(iconSize+4)+'px; line-height:inherit }'); window.removeEventListener('DOMContentLoaded', addStyle); iconify(document.body); } window.addEventListener('DOMContentLoaded', addStyle); function iconify(n) { var aa = (n.className == 'js-directory-link') ? [n] : n.getElementsByClassName('js-directory-link'); for (var a, i=0; i<aa.length && (a=aa[i++]); ) { var r = a.href.match(/github\.com\/(.+?\/)blob\/([^\/]+\/.+?\.(?:png|jpg|jpeg|bmp|gif|cur|ico))$/); if (!r) continue; var td = a.parentNode.parentNode.previousElementSibling; if (td.localName != 'td') continue; var icon = td.firstElementChild; var img = icon.nextElementSibling; if (!img) td.insertBefore(img = document.createElement('img'), icon); icon.style.display = 'none'; img.className = 'wOxxOm-image-icon'; img.src = 'https://raw.githubusercontent.com/' + r[1] + r[2]; td.className += ' wOxxOm-image-td'; } } var ob = new MutationObserver(function(mutations){ for (var m, i=0; i<mutations.length && (m=mutations[i++]) && (mtg=m.target); ) if (mtg.id == 'js-repo-pjax-container' || (mtg.className == 'files' && mtg.localName == 'table')) for (var nn=m.addedNodes, n, j=0; j<nn.length && (n=nn[j++]); ) if (n.nodeType == Node.ELEMENT_NODE) iconify(n); }); ob.observe(document, {subtree:true, childList:true});