Ok, this is kind of wierd but here's the situation.
I'm playing about with Express and the Jade tempting system.
I have a fairly straightforward layout.jade file:
doctype 5
html
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
h1 Nav goes here!
body
block content
and a home.jade file:
extends layout
block content
h1= title
p Welcome to #{title}
The above combinations works fine.
But, i wanted to add a footer, so I created a foot.jade file:
extends layout
block foot
h1= me
And added include foot to my layout.jade file.
Now if I try to access the home page of my app, im getting a Maximum call stack size exceedederror :/
My app.js file is:
/**
* Module dependencies.
*/
var express = require('express')
, home = require('./routes/home')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('stylus').middleware(__dirname + '/public'));
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', function(req, res) {
res.render('home', {title: 'Ninja Store'});
});
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
foot.jade uses extends layout, which loads layout.jade, which has an include for foot.jade, which uses extends layout, which loads layout.jade, ...
In other words: remove extends layout from foot.jade ;)