lots of new files

This commit is contained in:
Eric Romano
2013-04-26 20:07:27 -04:00
parent 3275a2ac96
commit 265ea05f03
11 changed files with 383 additions and 37 deletions

9
eric/Cakefile Normal file
View File

@ -0,0 +1,9 @@
spawn = (require 'child_process').spawn
to_stdio = (emitter) ->
emitter.stdout.on 'data', (data) -> process.stdout.write data
emitter.stderr.on 'data', (data) -> process.stderr.write data
emitter
task 'build', 'Build game file', (options) ->
to_stdio spawn 'coffee', ['--compile', 'eric.coffee']

43
eric/eric.coffee Normal file
View File

@ -0,0 +1,43 @@
dx = 20
[nx, ny] = [30, 20]
canvas = document.getElementById 'canvas'
canvas.width = nx*dx
canvas.height = ny*dx
state = []
for i in [1..ny] by 1
line = []
line.push 0 for j in [1..nx] by 1
state.push line
ctx = canvas.getContext '2d'
color = [
'rgb(255, 255, 255)',
'rgb(204, 255, 255)',
'rgb(153, 255, 255)',
'rgb(102, 255, 255)',
'rgb(51, 255, 255)',
'rgb(0, 255, 255)',
]
redraw = () =>
for i in [0..ny-1] by 1
for j in [0..nx-1] by 1
ctx.fillStyle = color[state[i][j]]
ctx.fillRect j*dx, i*dx, dx, dx
canvas.onmousemove = (e) =>
if (e.pageX || e.pageY)
[x, y] = [e.pageX, e.pageY]
else
x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft
y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop
x -= canvas.offsetLeft
y -= canvas.offsetTop
[i, j] = [Math.floor(y/dx), Math.floor(x/dx)]
state[i][j] += 1
state[i][j] %= 6
redraw()

66
eric/eric.js Normal file
View File

@ -0,0 +1,66 @@
// Generated by CoffeeScript 1.6.2
(function() {
var canvas, color, ctx, dx, i, j, line, nx, ny, redraw, state, _i, _j, _ref,
_this = this;
dx = 20;
_ref = [52, 7], nx = _ref[0], ny = _ref[1];
canvas = document.getElementById('canvas');
canvas.width = nx * dx;
canvas.height = ny * dx;
state = [];
for (i = _i = 1; _i <= ny; i = _i += 1) {
line = [];
for (j = _j = 1; _j <= nx; j = _j += 1) {
line.push(0);
}
state.push(line);
}
ctx = canvas.getContext('2d');
color = ['rgb(255, 255, 255)', 'rgb(204, 255, 255)', 'rgb(153, 255, 255)', 'rgb(102, 255, 255)', 'rgb(51, 255, 255)', 'rgb(0, 255, 255)'];
redraw = function() {
var _k, _ref1, _results;
_results = [];
for (i = _k = 0, _ref1 = ny - 1; _k <= _ref1; i = _k += 1) {
_results.push((function() {
var _l, _ref2, _results1;
_results1 = [];
for (j = _l = 0, _ref2 = nx - 1; _l <= _ref2; j = _l += 1) {
ctx.fillStyle = color[state[i][j]];
_results1.push(ctx.fillRect(j * dx, i * dx, dx, dx));
}
return _results1;
})());
}
return _results;
};
canvas.onmousemove = function(e) {
var x, y, _ref1, _ref2;
if (e.pageX || e.pageY) {
_ref1 = [e.pageX, e.pageY], x = _ref1[0], y = _ref1[1];
} else {
x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
x -= canvas.offsetLeft;
y -= canvas.offsetTop;
_ref2 = [Math.floor(y / dx), Math.floor(x / dx)], i = _ref2[0], j = _ref2[1];
state[i][j] += 1;
state[i][j] %= 6;
return redraw();
};
}).call(this);

14
eric/index.html Normal file
View File

@ -0,0 +1,14 @@
<html>
<head>
<style type="text/css">
body{
margin: 0;
padding: 0
}
</style>
</head>
<body>
<canvas id="canvas">Your browser does no support canvas</canvas>
<script src="eric.js"> </script>
</body>
</html>

109
gitfiti.html Normal file
View File

@ -0,0 +1,109 @@
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body {
font: 10px sans-serif;
shape-rendering: crispEdges;
}
.day {
fill: #fff;
stroke: #ccc;
}
.month {
fill: none;
stroke: #000;
stroke-width: 2px;
}
.RdYlGn .q0-11{fill:rgb(165,0,38)}
.RdYlGn .q1-11{fill:rgb(215,48,39)}
.RdYlGn .q2-11{fill:rgb(244,109,67)}
.RdYlGn .q3-11{fill:rgb(253,174,97)}
.RdYlGn .q4-11{fill:rgb(254,224,139)}
.RdYlGn .q5-11{fill:rgb(255,255,191)}
.RdYlGn .q6-11{fill:rgb(217,239,139)}
.RdYlGn .q7-11{fill:rgb(166,217,106)}
.RdYlGn .q8-11{fill:rgb(102,189,99)}
.RdYlGn .q9-11{fill:rgb(26,152,80)}
.RdYlGn .q10-11{fill:rgb(0,104,55)}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 960,
height = 136,
cellSize = 17; // cell size
var day = d3.time.format("%w"),
week = d3.time.format("%U"),
percent = d3.format(".1%"),
format = d3.time.format("%Y-%m-%d");
var color = d3.scale.quantize()
.domain([-.05, .05])
.range(d3.range(11).map(function(d) { return "q" + d + "-11"; }));
var svg = d3.select("body").selectAll("svg")
.data(d3.range(1990, 2011))
.enter().append("svg")
.attr("width", width)
.attr("height", height)
.attr("class", "RdYlGn")
.append("g")
.attr("transform", "translate(" + ((width - cellSize * 53) / 2) + "," + (height - cellSize * 7 - 1) + ")");
svg.append("text")
.attr("transform", "translate(-6," + cellSize * 3.5 + ")rotate(-90)")
.style("text-anchor", "middle")
.text(function(d) { return d; });
var rect = svg.selectAll(".day")
.data(function(d) { return d3.time.days(new Date(d, 0, 1), new Date(d + 1, 0, 1)); })
.enter().append("rect")
.attr("class", "day")
.attr("width", cellSize)
.attr("height", cellSize)
.attr("x", function(d) { return week(d) * cellSize; })
.attr("y", function(d) { return day(d) * cellSize; })
.datum(format);
rect.append("title")
.text(function(d) { return d; });
svg.selectAll(".month")
.data(function(d) { return d3.time.months(new Date(d, 0, 1), new Date(d + 1, 0, 1)); })
.enter().append("path")
.attr("class", "month")
.attr("d", monthPath);
d3.csv("dji.csv", function(error, csv) {
var data = d3.nest()
.key(function(d) { return d.Date; })
.rollup(function(d) { return (d[0].Close - d[0].Open) / d[0].Open; })
.map(csv);
rect.filter(function(d) { return d in data; })
.attr("class", function(d) { return "day " + color(data[d]); })
.select("title")
.text(function(d) { return d + ": " + percent(data[d]); });
});
function monthPath(t0) {
var t1 = new Date(t0.getFullYear(), t0.getMonth() + 1, 0),
d0 = +day(t0), w0 = +week(t0),
d1 = +day(t1), w1 = +week(t1);
return "M" + (w0 + 1) * cellSize + "," + d0 * cellSize
+ "H" + w0 * cellSize + "V" + 7 * cellSize
+ "H" + w1 * cellSize + "V" + (d1 + 1) * cellSize
+ "H" + (w1 + 1) * cellSize + "V" + 0
+ "H" + (w0 + 1) * cellSize + "Z";
}
d3.select(self.frameElement).style("height", "2910px");
</script>

43
gitfiti.js Normal file
View File

@ -0,0 +1,43 @@
var color = [
'rgb(255, 255, 255)',
'rgb(200, 255, 255)',
'rgb(150, 255, 255)',
'rgb(100, 255, 255)',
'rgb(50, 255, 255)',
'rgb(0, 255, 255)',
]
var paint=0
document.body.addEventListener('mousedown', function(){paint=1;console.log('painting');}, false );
document.body.addEventListener('mouseup',function(){paint=0;console.log('released')}, false);
function box(){
var box = document.createElement("div");
box.value=0;
box.style.width='25px';
box.style.height='25px';
box.style.border='1px solid gray';
box.style.backgroundColor=color[0];
box.paint=0
//box.onclick = function() { cycle(this);};
box.addEventListener('mousemove', function(){cycle(this);}, false );
document.body.appendChild(box);
return box
};
function boxes(){
var column = [];
for (i=0;i<7;i++){
column[i]=box();
}
}
function cycle(object){
if (paint==1){
object.value+=0.5;
object.value%6;
object.style.backgroundColor=color[object.value];
}
}
boxes();

View File

@ -1,5 +1,18 @@
#gitfiti #gitfiti
import os, sys #generate a value insertion plan for a 7xN matrix
#github new repo in account
#git init new repo
# git add gitfiti_output
# start of file:
# git commit -date $(date in the past) gitfiti_output
# for day in matrix:
# for value in day:
# add a character to gitfiti file
# git commit -m -date $date_value gitfiti_output "g"
#git add remote (get github url)
#git push -f master
import os, sys, datetime, math
try: try:
import requests import requests
except: except:
@ -9,53 +22,90 @@ except:
BASEURL='https://github.com/' BASEURL='https://github.com/'
color_commit_values=[0,1,2,3,4] color_commit_values=[0,1,2,3,4]
def get_calendar(username): def get_calendar(username):
"""retrieves the github commit calendar data for a username""" """retrieves the github commit calendar data for a username"""
url = BASEURL + 'users/' + username + '/contributions_calendar_data' url = BASEURL + 'users/' + username + '/contributions_calendar_data'
req = requests.get(url) req = requests.get(url)
return req.json() return req.json()
def max_commits(input):
"""finds the highest number of commits in one day"""
output = set()
for i, j in enumerate(input):
output.add(input[i][1])
output = list(output)
output.sort()
output.reverse()
return output[0]
def trim_calendar(input): def trim_calendar(input):
"""remote the first 6 days to align data with sundays""" """returns index of first sunday in the input"""
trim=input[6:] for i, j in enumerate(input):
return trim day = input[i][0]
day = datetime.datetime.strptime(day, '%Y/%m/%d')
weekday = datetime.datetime.weekday(day)
if weekday == 6:
return i
def squash_calendar(input): kitty=[
"""group days into weeks for formatting""" [0,0,0,4,0,0,0,0,4,0,0,0],
c=[] [3,3,4,2,4,4,4,4,2,4,3,3],
input.pop [0,0,4,2,2,2,2,2,2,4,0,0],
return c [3,3,4,2,4,2,2,4,2,4,3,3],
[0,0,4,2,2,3,3,2,2,4,0,0],
[3,3,4,2,2,2,2,2,2,4,3,3],
[0,0,0,4,4,4,4,4,4,0,0,0]]
oneup=[
[0,0,4,4,4,4,4,4,4,0,0],
[0,4,2,2,1,1,1,2,2,4,0],
[4,3,2,2,1,1,1,2,2,3,4],
[4,3,3,4,4,4,4,4,3,3,4],
[0,4,4,1,4,1,4,1,4,4,0],
[0,0,4,1,1,1,1,1,4,0,0],
[0,0,0,4,4,4,4,4,0,0,0]]
#find date range for N weeks
#each column starts on SUNDAY #each column starts on SUNDAY
def multiplier(max_commits):
"""calculates a multiplier to scale github colors to commit history"""
m = max_commits/4.0
m = math.ceil(m)
m = int(m)
return m
#generate a value insertion plan for a 7xN matrix def fakeit(image, reference, multiplier=1):
height = range(7)
width = len(image[0])
cal_index = 0
for w in range(width):
for h in height:
count = image[h][w]*multiplier
if count == 0:
cal_index += 1
continue
for c in range(count):
date = reference[cal_index][0]
date = datetime.datetime.strptime(date, '%Y/%m/%d').isoformat()
shelloutput(c, date)
cal_index += 1
#github new repo in account def shelloutput(content, commitdate):
print '''echo ''' + str(content) + ''' >> gitfiti'''
print '''GIT_AUTHOR_DATE=''' + commitdate + ''' GIT_COMMITTER_DATE=''' + commitdate + ''' git commit -a -m "''' + "gitfiti" +'''"'''
#git init new repo
# git add gitfiti_output
# start of file: #git init gitfitii
# git commit -date $(date in the past) gitfiti_output #cd gitfiti
#touch gitfiti
#git add gitfiti
###SHELLOUTPUT
#git remote add origin git@github.com:gelstudios/kitty.git
#git push -u origin master
# for day in matrix: username='gelstudios'
# for value in day: cal = get_calendar(username)
# add a character to gitfiti file x = trim_calendar(cal)
# git commit -m -date $date_value gitfiti_output "g" m = max_commits(cal)
m = multiplier(m)
#git add remote (get github url) cal = cal[x:]
#git push -f master fakeit(kitty, cal, m)
#profit!
test=[
[4,3,2,1,0],
[3,2,1,0,4],
[2,1,0,4,3],
[1,0,4,3,2],
[0,4,3,2,1]
]
#GIT_AUTHOR_DATE='your date' GIT_COMMITTER_DATE='your date' git commit -m 'new (old) files'

BIN
gitfiti.pyc Normal file

Binary file not shown.

0
test Normal file
View File

5
text.html Normal file
View File

@ -0,0 +1,5 @@
<!DOCTYPE html>
<head>
</head>
<body><script src='gitfiti.js'></script>
</body>

7
views/index.tpl Normal file
View File

@ -0,0 +1,7 @@
login page
<html>
<head>
<form>
<input>
</form>