Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bogart-handlebars

Package Overview
Dependencies
Maintainers
3
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bogart-handlebars

Handlebars tools for Bogart

  • 0.10.6
  • npm
  • Socket score

Version published
Weekly downloads
2
increased by100%
Maintainers
3
Weekly downloads
 
Created
Source

Bogart Handlebars

Bogart Middleware to load a directory hierarchy of views.

npm install bogart-handlebars --save

In your app:

var bogartHandlebars = require('bogart-handlebars');

var app = bogart.app();
app.use(bogartHandlebars(Path.join(__dirname, 'views')));

Middleware executed after bogartHandlebars will have views and respond services available. The views service is an object whose property hierarchy matches the directory hierarchy of the views.

Directory contents starting with underscore e.g. _layout.html are registered as partials with their full path name.

Example:

Figure A, Directory Hierarchy

views
  |-layouts
    |-_main.hbt
  |-public
    |-index.hbt

_main.hbt will be registered as the partial 'layouts/main'.

index.hbt will be available from views.public.index.

respond service

Middleware executed after bogart-handlebars will have respond available as a service.

/**
 * Create a Bogart response with a body of a handlebars view.
 * @param {Function} view  The handlebars view from the `view` service.
 * @param {Object} locals  Template variables for the handlebars template.
 * @param {Object} options Overrides for the response. Common values: status, headers.
 * @returns {Object} A Bogart response.
 */
respond(view, locals, options)

Example:

var bogartHandlebars = require('bogart-handlebars');

var router = bogart.router();
router.get('/', function (views, respond) {
  return respond(views.public.index, { title: 'Hello World' });
});

var app = bogart.app();
app.use(bogartHandlebars(path.join(__dirname, 'views')));
app.use(router);

Cross-cutting locals

It is possible to add to the locals passed to the view by respond in a cross-cutting manner with the onCreateLocals event. Register a callback to this event:

bogartHandlebars(path.join(__dirname, 'views'))
  .onCreateLocals(function (session) {
    return { user: session('user') }
  });

This example adds a user parameter from session to the locals of every view that respond renders.

onCreateLocals is chainable.

Keywords

FAQs

Package last updated on 19 Oct 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc