Skip to content

Instantly share code, notes, and snippets.

@jamezrin
Last active April 28, 2017 14:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamezrin/dd7c5cf094dccabf858009daf03383aa to your computer and use it in GitHub Desktop.
Save jamezrin/dd7c5cf094dccabf858009daf03383aa to your computer and use it in GitHub Desktop.
Github Dankifier
// ==UserScript==
// @name Github Dankifier
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Send nudes please
// @author jaime29010
// @match https://github.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var pattern = /(?:[0-9]+ contributions)/;
var profile = document.getElementsByClassName("page-profile");
if (profile.length === 0) return;
//The graph container
var graph = document.getElementsByClassName("js-contribution-graph")[0];
//Weedifier
(function() {
var cindic = graph.getElementsByTagName("h2");
for (var index = 0; index < cindic.length; index++) {
var child = cindic[index];
if (pattern.test(child.innerHTML)) {
child.innerHTML = child.innerHTML.replace(pattern, "420 contributions");
break;
}
}
})();
//Nudify
(function() {
var rects = graph.getElementsByTagName("rect");
for (var index = 0; index < rects.length; index++) {
var element = rects[index];
switch (index + 1) {
//Letra S
case pos(3, 1):
case pos(3, 2):
case pos(3, 3):
case pos(3, 4):
case pos(3, 7):
case pos(4, 1):
case pos(4, 4):
case pos(4, 7):
case pos(5, 1):
case pos(5, 4):
case pos(5, 7):
case pos(6, 1):
case pos(6, 5):
case pos(6, 6):
case pos(6, 4):
case pos(6, 7): {
element.setAttribute("fill", "#7bc96f");
break;
}
//Letra E
case pos(8, 1):
case pos(8, 2):
case pos(8, 3):
case pos(8, 4):
case pos(8, 5):
case pos(8, 6):
case pos(8, 7):
case pos(9, 1):
case pos(9, 4):
case pos(9, 7):
case pos(10, 1):
case pos(10, 4):
case pos(10, 7):
case pos(11, 1):
case pos(11, 4):
case pos(11, 7): {
element.setAttribute("fill", "#7bc96f");
break;
}
//Letra N
case pos(13, 1):
case pos(13, 2):
case pos(13, 3):
case pos(13, 4):
case pos(13, 5):
case pos(13, 6):
case pos(13, 7):
case pos(14, 2):
case pos(15, 3):
case pos(15, 4):
case pos(15, 5):
case pos(16, 6):
case pos(17, 1):
case pos(17, 2):
case pos(17, 3):
case pos(17, 4):
case pos(17, 5):
case pos(17, 6):
case pos(17, 7): {
element.setAttribute("fill", "#7bc96f");
break;
}
//Letra D
case pos(19, 1):
case pos(19, 2):
case pos(19, 3):
case pos(19, 4):
case pos(19, 5):
case pos(19, 6):
case pos(19, 7):
case pos(20, 1):
case pos(20, 7):
case pos(21, 1):
case pos(21, 7):
case pos(22, 2):
case pos(22, 3):
case pos(22, 4):
case pos(22, 5):
case pos(22, 6): {
element.setAttribute("fill", "#7bc96f");
break;
}
//Letra N
case pos(26, 1):
case pos(26, 2):
case pos(26, 3):
case pos(26, 4):
case pos(26, 5):
case pos(26, 6):
case pos(26, 7):
case pos(27, 2):
case pos(28, 3):
case pos(28, 4):
case pos(28, 5):
case pos(29, 6):
case pos(30, 1):
case pos(30, 2):
case pos(30, 3):
case pos(30, 4):
case pos(30, 5):
case pos(30, 6):
case pos(30, 7): {
element.setAttribute("fill", "#c6e48b");
break;
}
//Letra U
case pos(32, 1):
case pos(32, 2):
case pos(32, 3):
case pos(32, 4):
case pos(32, 5):
case pos(32, 6):
case pos(33, 7):
case pos(34, 7):
case pos(35, 7):
case pos(36, 1):
case pos(36, 2):
case pos(36, 3):
case pos(36, 4):
case pos(36, 5):
case pos(36, 6): {
element.setAttribute("fill", "#c6e48b");
break;
}
//Letra D
case pos(38, 1):
case pos(38, 2):
case pos(38, 3):
case pos(38, 4):
case pos(38, 5):
case pos(38, 6):
case pos(38, 7):
case pos(39, 1):
case pos(39, 7):
case pos(40, 1):
case pos(40, 7):
case pos(41, 2):
case pos(41, 3):
case pos(41, 4):
case pos(41, 5):
case pos(41, 6): {
element.setAttribute("fill", "#c6e48b");
break;
}
//Letra E
case pos(43, 1):
case pos(43, 2):
case pos(43, 3):
case pos(43, 4):
case pos(43, 5):
case pos(43, 6):
case pos(43, 7):
case pos(44, 1):
case pos(44, 4):
case pos(44, 7):
case pos(45, 1):
case pos(45, 4):
case pos(45, 7):
case pos(46, 1):
case pos(46, 4):
case pos(46, 7): {
element.setAttribute("fill", "#c6e48b");
break;
}
//Letra S
case pos(48, 1):
case pos(48, 2):
case pos(48, 3):
case pos(48, 4):
case pos(48, 7):
case pos(49, 1):
case pos(49, 4):
case pos(49, 7):
case pos(50, 1):
case pos(50, 4):
case pos(50, 7):
case pos(51, 1):
case pos(51, 5):
case pos(51, 6):
case pos(51, 4):
case pos(51, 7): {
element.setAttribute("fill", "#c6e48b");
break;
}
default: {
element.setAttribute("fill", "#ebedf0");
}
}
}
function pos(column, row) {
return (column - 1) * 7 + row;
}
})();
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment