From: Jason Woofenden Date: Sun, 23 Oct 2011 23:08:54 +0000 (-0400) Subject: serve js from /javascript, make cards draggable X-Git-Url: https://jasonwoof.com/gitweb/?p=peach-cgt.git;a=commitdiff_plain;h=4197e7b5a4746c9d04a96190707d7021e443aa42 serve js from /javascript, make cards draggable --- diff --git a/client.coffee b/client.coffee index 8c1abd0..61643b0 100644 --- a/client.coffee +++ b/client.coffee @@ -1,7 +1,9 @@ $table = null add_card = (text, x, y) -> - $table.append $ "
#{text}
" + card = $ $ "
#{text}
" + $table.append card + card.draggable() init = -> $table = $ '#table' diff --git a/index.html b/index.html index f654f36..8ada84e 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,11 @@ Card Table - + + + + + diff --git a/server.coffee b/server.coffee index fad6347..48e2857 100644 --- a/server.coffee +++ b/server.coffee @@ -26,6 +26,24 @@ html_handler = (args, out, request, url_parts) -> if err return out.end 'Server failed to read index.html' out.end data + +clean_pathname_regex = new RegExp('[^a-zA-Z/_.-]') +clean_pathname_regex2 = new RegExp('/[.]') +clean_pathname_regex3 = new RegExp('^[.-]') +clean_pathname = (str) -> + str = str.replace clean_pathname_regex, '_' + str = str.replace clean_pathname_regex2, '/_' + return str.replace clean_pathname_regex3, '_' + +# serve javascript files from within /usr/share/javascript +javascript_handler = (args, out, request, url_parts) -> + filename = clean_pathname "/usr/share/#{url_parts.pathname}" + fs.readFile filename, 'utf8', (err, data) -> + if err + out.writeHead 404 + return out.end "Server failed to read #{filename}" + out.writeHead 200, 'Content-Type': 'text/javascript' + out.end data http_server = http.createServer (req, res) -> @@ -35,7 +53,9 @@ http_server = http.createServer (req, res) -> rel_path = url_parts.pathname.substr 1 - if rel_path.substr(rel_path.length - 4) is '.css' + if rel_path.substr(0, 11) is 'javascript/' + return javascript_handler url_parts.query, res, req, url_parts + else if rel_path.substr(rel_path.length - 4) is '.css' res.writeHead 200, 'Content-Type': 'text/css' return css_handler url_parts.query, res, req, url_parts else if rel_path.substr rel_path.length - 3 is '.js'