DeviantBlocker

DeviantArt gallery - block images from selected artists

13.12.2015 itibariyledir. En son verisyonu görün.

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği yüklemek için Tampermonkey gibi bir uzantı yüklemeniz gerekir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

Bu stili yüklemek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için Stylus gibi bir uzantı kurmanız gerekir.

Bu stili yükleyebilmek için Stylus gibi bir uzantı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

Bu stili yüklemek için bir kullanıcı stili yöneticisi uzantısı kurmanız gerekir.

Bu stili yükleyebilmek için bir kullanıcı stili yöneticisi uzantısı yüklemeniz gerekir.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name DeviantBlocker
// @namespace brandrock.co.za
// @description DeviantArt gallery - block images from selected artists
// @include http://www.deviantart.com/
// @include http://www.deviantart.com/?*
// @include http://browse.deviantart.com/*
// @include http://www.deviantart.com/browse/*
// @include https://www.deviantart.com/
// @include https://www.deviantart.com/?*
// @include https://browse.deviantart.com/*
// @include https://www.deviantart.com/browse/*
// @version 1.2
// @grant GM_log
// @grant GM_getValue
// @grant GM_setValue
// ==/UserScript==

// This work is licensed under the Creative Commons Attribution 2.0 Generic License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/.

var blacklist = GM_getValue('DAGbl', '|');
var thumbs = document.getElementsByTagName('IMG');

for(var i = thumbs.length; i--;) {
	var img = thumbs[i];
	if (img.getAttribute('data-src')){
		var div = img.parentNode;
		while (!(div.tagName == 'DIV' && div.getAttribute('userid')>'')) {
			div = div.parentNode;
		}
		var username = div.getAttribute('username');
		var userid = div.getAttribute('userid');
		var elem = document.createElement('button');
		elem.type = 'button';
		elem.userid = userid;
		img.userid = userid;
		elem.title = 'Click to hide/show images from this artist';
		elem.innerHTML = username;
		var useridD = '|' + userid + '|'
		if (blacklist.indexOf(useridD) > -1){
			img.style.visibility = 'hidden';
			elem.addEventListener('click', function(){
				artistShow(this);
			});
		} else {
			elem.addEventListener('click', function(){
				artistHide(this);
			});
		}
		catSpan = div.querySelector(".category");
		catSpan.parentNode.insertBefore(elem, catSpan);
	}
}

function artistHide(button) {
	blacklist = blacklist + button.userid + '|';
	GM_setValue('DAGbl', blacklist);
	for(var i = thumbs.length; i--;) {
		var img = thumbs[i];
		if(img.userid == button.userid){
			img.style.visibility = 'hidden';
		}
	}
}
function artistShow(button) {
	blacklist = blacklist.replace(button.userid + '|', '');
	GM_setValue('DAGbl', blacklist);
	for(var i = thumbs.length; i--;) {
		var img = thumbs[i];
		if(img.userid == button.userid){
			img.style.visibility = 'visible';
		}
	}
}