Skip to content

Instantly share code, notes, and snippets.

View sifu's full-sized avatar

Siegmund Führinger sifu

View GitHub Profile
@sifu
sifu / README.txt
Created October 19, 2010 13:49
autoreload a server
depends on http://github.com/mikeal/watch
@sifu
sifu / gist:632177
Created October 18, 2010 13:04
consume whole http body
function HttpBodyServer( callback ) {
return http.createServer( function( request, response ) {
var body = '';
request.on( 'data', function( chunk ) {
body += chunk.toString( );
} );
request.on( 'end', function( ) {
callback( request, response, body );
} );
} );
var http = require( 'http' ),
parse = require( 'querystring' ).parse;
http.createServer( function( request, response ) {
var body = '';
request.on( 'data', function( chunk ) {
body += chunk.toString( );
} );
request.on( 'end', function( ) {
console.info( parse( body ) );
function template( targetNode, templateNode_ ) {
var self = {};
var templateNode = templateNode_ || targetNode;
var templateString = $( templateNode ).innerHTML.replace( /^\s*<!--/, '' ).replace( /-->\s*$/, '' );
targetNode.innerHTML = '';
self.render = function( data ) {
targetNode.innerHTML = Mustache.to_html( templateString, data );
return data;
};
return self;
{{#a_object}}
<h1>{{title}}</h1>
<p>{{description}}</p>
<ul>
{{#a_list}}
<li>{{label}}</li>
{{/a_list}}
</ul>
{{/a_object}}
diff --git a/mustache.js b/mustache.js
index 58e6460..1fba949 100644
--- a/mustache.js
+++ b/mustache.js
@@ -118,6 +118,8 @@ var Mustache = function() {
return that.render(content, that.merge(context,
that.create_context(row)), partials, true);
}).join("");
+ } else if(that.is_object(value)) { // Object, Use it as subcontext!
+ return that.render(content, that.merge(context, that.create_context(value)), partials, true);