From: Luigi Pinca Date: Thu, 16 Aug 2012 18:13:23 +0000 (+0200) Subject: fixed url for github button and updated jQuery X-Git-Url: https://git.saalbach.dev/?a=commitdiff_plain;h=5147dac51e9fd639f3cbc043bc509d7d9281ad6d;p=binbsis50.git fixed url for github button and updated jQuery --- diff --git a/package.json b/package.json index 4af33bd..7213e95 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "dependencies": { "async": "0.1.x", - "canvas": "0.12.x", + "canvas": "0.13.x", "connect": "1.9.x", "connect-redis": "1.4.x", "express": "2.5.x", - "jade": "0.26.x", + "jade": "0.27.x", "nodemailer": "0.3.x", "redis": "0.7.x", "redis-url": "0.1.x", @@ -19,5 +19,5 @@ "start": "app.js" }, "subdomain": "binb", - "version": "0.3.2-16" + "version": "0.3.2-17" } \ No newline at end of file diff --git a/public/static/css/style.css b/public/static/css/style.css index 18d5adf..adb4d6d 100644 --- a/public/static/css/style.css +++ b/public/static/css/style.css @@ -84,7 +84,7 @@ input { .modal-footer { text-align: left; } -.modal-footer .btn { +.modal-footer .btn, #total-tracks, #tracks a, #nodejitsu-logo, .footer-info { float: right; } .thumbnails { @@ -214,7 +214,6 @@ input { display: inline-block; } #total-tracks { - float: right; color: #BFBFBF; margin-top: 34px; } @@ -598,7 +597,6 @@ input { margin-top: 11px; } #tracks a { - float:right; display:block; width:24px; height:24px; @@ -623,11 +621,11 @@ footer { } #footer-inner { border-top:1px solid white; - padding-top:5px; + padding:5px 20px 0 20px; margin-bottom:30px; } #copy { - margin: 0 20px 0 20px; + margin-right: 20px; } #facebook-button { width:90px; @@ -636,10 +634,18 @@ footer { #twitter-button, #github-button { width:100px; } -#copy, #footer-right { +#copy, .footer-info { line-height:20px; } -#footer-right { - float:right; - margin-right:20px; +.footer-info { + white-space: pre-wrap; +} +#nodejitsu-logo { + display: block; + width: 84px; + height: 20px; + background: url('/static/images/sprites.png') no-repeat 0 -208px; +} +#nodejitsu-logo:hover { + background: url('/static/images/sprites.png') no-repeat 0 -228px; } diff --git a/public/static/images/sprites.png b/public/static/images/sprites.png index 1c94c73..e090681 100644 Binary files a/public/static/images/sprites.png and b/public/static/images/sprites.png differ diff --git a/public/static/js/home.js b/public/static/js/home.js index fcc92a5..23b060b 100644 --- a/public/static/js/home.js +++ b/public/static/js/home.js @@ -16,7 +16,7 @@ $(function() { } }); }); - var socket = io.connect("http://binb.nodejitsu.com/", {'reconnect':false}); + var socket = io.connect('http://'+window.location.host, {'reconnect':false}); socket.on("connect", function() { socket.emit("getoverview"); socket.on("overview", function(data) { diff --git a/public/static/js/room.js b/public/static/js/room.js index 9f14a4a..89a1afc 100644 --- a/public/static/js/room.js +++ b/public/static/js/room.js @@ -58,18 +58,13 @@ ]; String.prototype.encodeEntities = function() { - return this.replace(/&/g,'&').replace(//g,'>'); - }; - - // Exact match version of jQuery :contains selector - $.expr[":"].econtains = function(obj, index, meta, stack) { - return $(obj).html() === meta[0].replace(/^[\s\S]+:econtains\(([\s\S]+)\)$/, "$1"); + return this.replace(/&/g, '&').replace(//g, '>'); }; // Prompt for name and send it. var joinAnonymously = function(msg) { if (/nickname\s*\=/.test(document.cookie) && !msg) { - nickname = unescape(document.cookie.replace(/.*nickname\s*\=\s*([^;]*);?.*/, "$1")); + nickname = unescape(document.cookie.replace(/.*nickname\s*\=\s*([^;]*);?.*/, '$1')); socket.emit('joinanonymously', nickname, roomname); } else { @@ -88,15 +83,15 @@ button.click(function() { var val = $.trim(login.val()); - if (val !== "") { + if (val !== '') { nickname = val; socket.emit('joinanonymously', nickname, roomname); } else { - var txt = "Nickname can't be empty."; + var txt = 'Nickname can\'t be empty.'; invalidNickName(''+txt+''); } - login.val(""); + login.val(''); }); login.keyup(function(event) { @@ -119,7 +114,7 @@ // Submitted name was invalid var invalidNickName = function(feedback) { - joinAnonymously(feedback+"
Try with another one:"); + joinAnonymously(feedback+'
Try with another one:'); }; /* Triggered when a logged user tries to join a room from another tab or another browser @@ -136,13 +131,13 @@ // Successfully joined the room var ready = function(usersData, trackscount, loggedin) { if (!loggedin && !/nickname\s*\=/.test(document.cookie)) { - document.cookie = "nickname="+escape(nickname)+";path=/;"; + document.cookie = 'nickname='+escape(nickname)+';path=/;'; } DOM.modal.modal('hide').empty(); $('#total-tracks span').text(trackscount); - var msg = nickname+" joined the game"; - var joinspan = $(""); + var msg = nickname+' joined the game'; + var joinspan = $(''); joinspan.text(msg); addChatEntry(joinspan); updateUsers(usersData); @@ -150,7 +145,7 @@ DOM.messagebox.keydown(function(event) { if (event.keyCode === 13) { var val = $.trim(DOM.messagebox.val()); - if (val !== "") { + if (val !== '') { if (pvtmsgto) { socket.emit('sendchatmsg', val, pvtmsgto); } @@ -158,7 +153,7 @@ socket.emit('sendchatmsg', val); } } - DOM.messagebox.val(""); + DOM.messagebox.val(''); } }); @@ -166,7 +161,7 @@ switch (event.keyCode) { case 13: // return var guess = $.trim(DOM.guessbox.val()); - if (guess !== "") { + if (guess !== '') { socket.emit('guess', guess.toLowerCase()); historyvalues.push(guess); if (historyvalues.length > 20) { @@ -174,7 +169,7 @@ } historycursor = historyvalues.length; } - DOM.guessbox.val(""); + DOM.guessbox.val(''); break; case 38: // up-arrow if (historycursor > 0) { @@ -187,7 +182,7 @@ } else { historycursor = historyvalues.length; - DOM.guessbox.val(""); + DOM.guessbox.val(''); } } }); @@ -203,19 +198,19 @@ socket.on('trackinfo', addTrackInfo); socket.on('artistmatched', function() { var feedback = amstrings[Math.floor(Math.random()*amstrings.length)]; - addFeedback(feedback, "correct"); + addFeedback(feedback, 'correct'); }); socket.on('titlematched', function() { var feedback = tmstrings[Math.floor(Math.random()*tmstrings.length)]; - addFeedback(feedback, "correct"); + addFeedback(feedback, 'correct'); }); socket.on('bothmatched', function() { var feedback = bmstrings[Math.floor(Math.random()*bmstrings.length)]; - addFeedback(feedback, "correct"); + addFeedback(feedback, 'correct'); }); socket.on('nomatch', function() { var feedback = nmstrings[Math.floor(Math.random()*nmstrings.length)]; - addFeedback(feedback, "wrong"); + addFeedback(feedback, 'wrong'); }); socket.on('stoptrying', function() { addFeedback('You guessed both artist and title. Please wait...'); @@ -240,8 +235,8 @@ // A new player has joined the game var userJoin = function(username, usersData) { - var msg = username+" joined the game"; - var joinspan = $(""); + var msg = username+' joined the game'; + var joinspan = $(''); joinspan.text(msg); addChatEntry(joinspan); updateUsers(usersData); @@ -249,8 +244,8 @@ // A player has left the game var userLeft = function(username, usersData) { - var leftmsg = username+" left the game"; - var leftspan = $(""); + var leftmsg = username+' left the game'; + var leftspan = $(''); leftspan.text(leftmsg); addChatEntry(leftspan); updateUsers(usersData); @@ -297,7 +292,7 @@ } if (nickname === user.nickname) { - username.addClass("you"); + username.addClass('you'); roundpoints = user.roundpoints; DOM.rank.text(i+1); DOM.points.text(user.points); @@ -306,25 +301,25 @@ if (user.roundpoints > 0) { roundpointsel.text('+'+user.roundpoints); if (user.roundpoints === 1) { - username.addClass("matched"); + username.addClass('matched'); } else { if (user.roundpoints > 3) { var stand = 7 - user.roundpoints; - roundrank.addClass("round-rank stand"+stand); + roundrank.addClass('round-rank stand'+stand); var gtime = (user.guesstime / 1000).toFixed(1); - guesstime.text(gtime+" s"); + guesstime.text(gtime+' s'); } - username.addClass("correct"); + username.addClass('correct'); } } } if (!found && pvtmsgto) { var width = DOM.recipient.outerWidth(true) + 1; - DOM.recipient.css('margin-right','0'); - DOM.recipient.text(""); - DOM.messagebox.animate({'width':'+='+width+'px'}, "fast"); + DOM.recipient.css('margin-right', '0'); + DOM.recipient.text(''); + DOM.messagebox.animate({'width':'+='+width+'px'}, 'fast'); pvtmsgto = null; DOM.messagebox.focus(); } @@ -337,13 +332,17 @@ if (nickname === usrname) { return; } - DOM.recipient.css('margin-right','4px'); - DOM.recipient.text("To "+usrname+":"); + DOM.recipient.css('margin-right', '4px'); + DOM.recipient.text('To '+usrname+':'); var width = DOM.recipient.outerWidth(true) + 1; DOM.recipient.hide(); - DOM.messagebox.animate({'width':'-='+width+'px'}, "fast", function() {DOM.recipient.show();}); - var el = $("span.name:econtains("+usrname.encodeEntities()+")"); - el.prevAll(".private").show(); + DOM.messagebox.animate({'width':'-='+width+'px'}, 'fast', function() { + DOM.recipient.show(); + }); + var el = $('.name').filter(function(index) { + return $(this).text() === usrname; + }); + el.prevAll('.private').show(); el.unbind('click'); el.click(clearPrivate); pvtmsgto = usrname; @@ -352,12 +351,14 @@ var clearPrivate = function() { var width = DOM.recipient.outerWidth(true) + 1; - DOM.recipient.css('margin-right','0'); - DOM.recipient.text(""); - DOM.messagebox.animate({'width':'+='+width+'px'}, "fast"); - var el = $("span.name:econtains("+pvtmsgto.encodeEntities()+")"); - el.prevAll(".private").hide(); - el.unbind("click"); + DOM.recipient.css('margin-right', '0'); + DOM.recipient.text(''); + DOM.messagebox.animate({'width':'+='+width+'px'}, 'fast'); + var el = $('.name').filter(function(index) { + return $(this).text() === pvtmsgto; + }); + el.prevAll('.private').hide(); + el.unbind('click'); el.click(function() { addPrivate($(this).text()); }); @@ -386,30 +387,30 @@ // Receive a chat message var getChatMessage = function(chatmsg, from, to) { var prefix = from; - var msgspan = $(""); + var msgspan = $(''); if (to) { // Private Message prefix = (nickname === from) ? '(To '+to+')' : '(From '+prefix+')'; - msgspan.addClass("private"); + msgspan.addClass('private'); } - var msg = prefix+": "+chatmsg; + var msg = prefix+': '+chatmsg; msgspan.html(urlize(msg)); addChatEntry(msgspan); }; var loadTrack = function(previewUrl) { - jplayer.jPlayer("mute"); - jplayer.jPlayer("setMedia", {m4a: previewUrl}); + jplayer.jPlayer('mute'); + jplayer.jPlayer('setMedia', {m4a: previewUrl}); }; // Play a track var playTrack = function(data) { if (touchplay) { - touchplay.removeClass("btn-danger disabled").addClass("btn-success"); + touchplay.removeClass('btn-danger disabled').addClass('btn-success'); touchplay.html(' Play'); } - jplayer.jPlayer("unmute"); - jplayer.jPlayer("play"); + jplayer.jPlayer('unmute'); + jplayer.jPlayer('play'); updateUsers(data.users); cassetteAnimation(Date.now()+30000, true); if (data.counter === 1) { @@ -436,14 +437,7 @@ offsetleft = 44 - 24*secleft/30; offsetright = 130 - 24*secleft/30; DOM.progress.width(width); - css = { - '-moz-transform' : 'rotate('+deg+'deg)', - '-webkit-transform' : 'rotate('+deg+'deg)', - '-o-transform' : 'rotate('+deg+'deg)', - '-ms-transform' : 'rotate('+deg+'deg)', - 'transform' : 'rotate('+deg+'deg)' - }; - DOM.cassettewheels.css(css); + DOM.cassettewheels.css('transform', 'rotate('+deg+'deg)'); DOM.tapeleft.css('left', offsetleft+'px'); DOM.taperight.css('left', offsetright+'px'); } @@ -453,14 +447,7 @@ offsetleft = 20 + 24*secleft/5; offsetright = 106 + 24*secleft/5; DOM.progress.width(width); - css = { - '-moz-transform' : 'rotate('+deg+'deg)', - '-webkit-transform' : 'rotate('+deg+'deg)', - '-o-transform' : 'rotate('+deg+'deg)', - '-ms-transform' : 'rotate('+deg+'deg)', - 'transform' : 'rotate('+deg+'deg)' - }; - DOM.cassettewheels.css(css); + DOM.cassettewheels.css('transform', 'rotate('+deg+'deg)'); DOM.tapeleft.css('left', offsetleft+'px'); DOM.taperight.css('left', offsetright+'px'); } @@ -483,7 +470,7 @@ // Add track info var addTrackInfo = function(data) { if (touchplay) { - touchplay.removeClass("btn-success").addClass("btn-danger disabled"); + touchplay.removeClass('btn-success').addClass('btn-danger disabled'); touchplay.html(' Wait'); } cassetteAnimation(Date.now()+5000, false); @@ -497,8 +484,8 @@ , rp = ''; if (data.trackName.length > 45) { - titleattr = data.trackName.replace(/"/g, """); - trackname = data.trackName.substring(0,42) + '...'; + titleattr = data.trackName.replace(/"/g, '"'); + trackname = data.trackName.substring(0, 42) + '...'; } html += '
'+trackname+'
'; @@ -546,7 +533,7 @@ var meantime = "N/A"; if (podium[i].guessed !== 0) { meantime = podium[i].totguesstime / podium[i].guessed; - meantime = (meantime / 1000).toFixed(1)+" s"; + meantime = (meantime / 1000).toFixed(1)+' s'; } html += ''+meantime+''; } @@ -562,8 +549,8 @@ // Let the user know when he/she has disconnected var disconnect = function() { stopanimation = true; - jplayer.jPlayer("stop"); - var errorspan = $("ERROR: You have disconnected."); + jplayer.jPlayer('stop'); + var errorspan = $('ERROR: You have disconnected.'); addChatEntry(errorspan); addFeedback('Something wrong happened'); DOM.users.empty(); @@ -571,23 +558,23 @@ // Add a chat entry, whether message, notification, etc. var addChatEntry = function(childNode) { - var li = $("
  • "); + var li = $('
  • '); li.append(childNode); DOM.chat.append(li); DOM.chat[0].scrollTop = DOM.chat[0].scrollHeight; }; var hideChat = function() { - DOM.togglechat.text("Show chat").unbind('click'); + DOM.togglechat.text('Show chat').unbind('click'); DOM.chatwrapper.toggle(300); - DOM.tracks.animate({maxHeight:"434px"}, 300); + DOM.tracks.animate({maxHeight:'434px'}, 300); DOM.togglechat.click(showChat); }; var showChat = function() { - DOM.togglechat.text("Hide chat").unbind('click'); + DOM.togglechat.text('Hide chat').unbind('click'); DOM.chatwrapper.toggle(300); - DOM.tracks.animate({maxHeight:"240px"}, 300, function() { + DOM.tracks.animate({maxHeight:'240px'}, 300, function() { DOM.chat[0].scrollTop = DOM.chat[0].scrollHeight; }); DOM.togglechat.click(hideChat); @@ -612,7 +599,7 @@ '
    '+ // Rail '
    '+ // Current volume '
    '+ // Handle - '').appendTo("#volume"); + '').appendTo('#volume'); var icon = volumebutton.find('#icon') , volumeslider = volumebutton.find('#volume-slider') @@ -657,14 +644,14 @@ var setVolume = function(volume) { handleIcon(volume); oldvalue = volume; - jplayer.jPlayer("volume", volume); + jplayer.jPlayer('volume', volume); }; var handleVolumeMove = function(e) { var totaloffset = volumetotal.offset() , newy = e.pageY - totaloffset.top , railheight = volumetotal.height() - , totalTop = parseInt(volumetotal.css('top').replace(/px/,''),10) + , totalTop = parseInt(volumetotal.css('top').replace(/px/, ''), 10) , volume = (railheight - newy) / railheight; if (newy < 0) { @@ -676,21 +663,21 @@ volumehandle.css('top', totalTop + newy - (volumehandle.height() / 2)); volumecurrent.height(railheight - newy); - volumecurrent.css('top',newy+totalTop); + volumecurrent.css('top', newy + totalTop); - volume = Math.max(0,volume); - volume = Math.min(volume,1); + volume = Math.max(0, volume); + volume = Math.min(volume, 1); setVolume(volume); var d = new Date(); d.setTime(d.getTime() + 31536000000); // One year in milliseconds - document.cookie = "volume="+volume+";path=/;expires="+d.toGMTString()+";"; + document.cookie = 'volume='+volume+';path=/;expires='+d.toGMTString()+';'; }; var loadFromCookie = function() { if (/volume\s*\=/.test(document.cookie)) { - var value = document.cookie.replace(/.*volume\s*\=\s*([^;]*);?.*/, "$1"); + var value = document.cookie.replace(/.*volume\s*\=\s*([^;]*);?.*/, '$1'); value = parseFloat(value); positionVolumeHandle(value); setVolume(value); @@ -732,7 +719,7 @@ if (!clicked) { clicked = true; if (oldvalue !== 0) { - jplayer.jPlayer("volume", 0); + jplayer.jPlayer('volume', 0); positionVolumeHandle(0); handleIcon(0); } @@ -740,7 +727,7 @@ else { clicked = false; if (oldvalue !== 0) { - jplayer.jPlayer("volume", oldvalue); + jplayer.jPlayer('volume', oldvalue); positionVolumeHandle(oldvalue); handleIcon(oldvalue); } @@ -774,7 +761,7 @@ // Set up the room. $(function() { setVariables(); - DOM.modal.modal({keyboard:false,show:false,backdrop:"static"}); + DOM.modal.modal({keyboard:false, show:false, backdrop:'static'}); DOM.togglechat.click(hideChat); if ($.browser.mozilla) { // Block ESC button in firefox (breaks socket connections). @@ -784,9 +771,9 @@ } }); } - socket = io.connect("http://binb.nodejitsu.com/", {'reconnect':false}); - socket.on("connect", function() { - jplayer = $("#player").jPlayer({ + socket = io.connect('http://'+window.location.host, {'reconnect':false}); + socket.on('connect', function() { + jplayer = $('#player').jPlayer({ ready: function() { socket.emit('loggedin', function(data) { if (data) { @@ -802,10 +789,10 @@ var touchbackdrop = $('
    '+ '
    ').appendTo("#cassette"); + '').appendTo('#cassette'); touchplay = $('#touch-play'); touchplay.click(function() { - if (!$(this).hasClass("btn-danger")) { + if (!$(this).hasClass('btn-danger')) { touchplay = null; jplayer.jPlayer('play', elapsedtime); touchbackdrop.remove(); @@ -813,15 +800,15 @@ }); } }, - swfPath: "/static/swf/", - supplied: "m4a", - preload: "auto", + swfPath: '/static/swf/', + supplied: 'm4a', + preload: 'auto', volume: 1 }); }); socket.on('alreadyinaroom', alreadyInARoom); socket.on('invalidnickname', invalidNickName); socket.on('ready', ready); - socket.on("disconnect", disconnect); + socket.on('disconnect', disconnect); }); })(); diff --git a/views/footer.jade b/views/footer.jade index afa5371..2d67ba0 100644 --- a/views/footer.jade +++ b/views/footer.jade @@ -6,13 +6,7 @@ footer iframe#twitter-button(allowtransparency="true", frameborder="0", scrolling="no", src="//platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fbinb.nodejitsu.com") iframe#github-button(allowtransparency="true", frameborder="0", scrolling="0", - src="http://markdotto.github.com/github-buttons/github-btn.html?user=lpinca&repo=binb&type=watch&count=true") - #footer-right Made with - a(target="_blank", href="http://nodejs.org/") node.js - | , - a(target="_blank", href="http://socket.io/") socket.io - | , - a(target="_blank", href="http://redis.io/") redis.io - | , - a(target="_blank", href="http://nodejitsu.com/") nodejitsu - | . Optimized for Google Chrome. + src="http://ghbtns.com/github-btn.html?user=lpinca&repo=binb&type=watch&count=true") + span.footer-info . Optimized for Google Chrome. + a#nodejitsu-logo(target="_blank", href="http://nodejitsu.com/") + span.footer-info Powered by diff --git a/views/header.jade b/views/header.jade index 0178479..56d25b2 100644 --- a/views/header.jade +++ b/views/header.jade @@ -7,7 +7,7 @@ head meta(name="keywords", content="iTunes, music, quiz, binb, beatquest, realtime, multiplayer, listening, game") meta(name="description", content="Simple, realtime, multiplayer, competitive music listening game. Guess the song and prove your music knowledge!") meta(name="author", content="Luigi Pinca") - script(src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js") + script(src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js") script var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-29865853-1']);