paul.g
paul.g

Reputation: 181

hogan.js with master pages or layouts

Is it possible in any way to use hogan.js as template engine with layouts something like "Razor or master pages in .NET"? I would get a result like this:

layout.hjs: contains "header" & "footer"

and

index.hjs: will include layout.hjs and contain only page content.

Upvotes: 7

Views: 3850

Answers (2)

Paul Scheltema
Paul Scheltema

Reputation: 2043

sure:

layout.hjs:

{{> header}}
{{$content}}
  default content
{{/content}}
{{> footer}}

index.hjs:

{{<layout}}
  {{$content}}
    your content goes here
  {{/content}}
{{/layout}}

see the hogan test file for all it can do: https://github.com/twitter/hogan.js/blob/master/test/index.js

btw. this is [email protected], get it with a git url with mpn

Upvotes: 9

AlbertEngelB
AlbertEngelB

Reputation: 16436

I'm not sure what you mean, "Razor or master pages in .NET"? What are you looking to do, use view partials?

But the basic way of setting up Hogan.js for Express is as follows:

var express = require('express');
var app = express();

app.set('views', __dirname + '/views');
app.set('view engine', 'hjs');

app.use(app.router);
app.use(express.static( __dirname + '/public' ));

app.get('/', function( req, res, next ) {
  res.render('index');
});

app.listen(3000);

You will have to npm install express [--save], npm install hjs [--save], depending if it's inside your package.json already or not.

Then you just make a views directory and throw an index.hjs file and you're set.

Let me know what you want to do with your templates and we can work from there.

Upvotes: 1

Related Questions