extends layout block append head link(rel='stylesheet', href='/stylesheets/chatty.css') script(src="http://code.jquery.com/jquery-1.7.1.js",type="text/javascript") script(src="/socket.io/socket.io.js") script(type='text/javascript') var socket = io.connect(); socket.on('msg', function(data) { var msg = JSON.parse(data); appendMsg(msg); }); socket.on('init', function(data) { var messages = JSON.parse(data) for (i in messages) appendMsg(messages[i]) }); function appendMsg(msg) { $('#msgs').append(function() { var div = $('
'); div.html('' + msg.username + ': ' + msg.message); return div; }); $('#msgs')[0].scrollTop = $('#msgs')[0].scrollHeight; } function sendMsg() { var msg = {}; $.each($('#chat').serializeArray(), function(i,v) { msg[v.name] = v.value; }); $("#msg").val(""); appendMsg(msg); socket.emit('msg', JSON.stringify(msg)); } block content h1 #{title} chatting away #msgs #form form(id="chat",onsubmit="sendMsg(); return false;") label(for="username") Username: input(name="username",type="text") br label(for="msg") Message: input(id="msg",type="text",name="message") br input(type="submit")