1.0.13 • Published 8 years ago

koa-grace-views v1.0.13

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

koa-views

Build status NPM version Dependency Status License

Template rendering middleware for koa-grace.(Forked from https://github.com/queckezz/koa-views.)

Installation

$ npm install koa-grace-views

Templating engines

As of right now, koa-views is using consolidate under the hood.

List of supported engines

Example (koa 1.x)

var views = require('koa-views');

// Must be used before any router is used
app.use(views(__dirname + '/views', {
  map: {
    html: 'underscore'
  }
}));

app.use(function* (next) {
  this.state = {
    session: this.session,
    title: 'app'
  };

  yield this.render('user', {
    user: 'John'
  });
});

Example (koa 2.x)

This module won't get converted to koa 2 until v8 lands async-await. If you want to use koa 2 you need to wrap this module with koa-convert and build your code with babel 6. View this issue if you run into problems.

app.use(convert(views(__dirname, {
  map: {
    html: 'nunjucks'
  }
})))

app.use(async (ctx, next) => {
  ctx.render = co.wrap(ctx.render.bind(ctx))
  await next()
})

app.use(async (ctx, next) => {
  await ctx.render('./views/user.html')
})

For more examples take a look at the tests

API

views(root, opts)

  • root: Where your views are located. All views you render() are relative to this path.
  • opts (optional)
  • opts.extension: Default extension for your views
// instead of this
yield this.render('user.jade')
// you can
yield this.render('user')
  • opts.map: map extension to an engine
app.use(views(__dirname, { map: {html: 'nunjucks' }}))

// render `user.html` with nunjucks
app.use(function *() {
  yield this.render('user.html')
})

Debug

Set the DEBUG environment variable to koa-views when starting your server.

$ DEBUG=koa-views

License

MIT

1.0.13

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.8-rc.3

8 years ago

1.0.8-rc.2

8 years ago

1.0.8-rc.1

8 years ago

1.0.8

8 years ago

1.0.9

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago