combynexpress

3.0.0 • Public • Published

CombynExpress

View engine support for Combyne

Build Status

Created by Tim Branyen @tbranyen

Installing.

npm install combynexpress

Requiring.

var combynExpress = require("combynexpress");

Registering with Express.

Note: The lookup folder name is views and it is relative to your working directory.

app.engine("combyne", combynExpress());
app.set("view engine", "combyne");

If you prefer a different extension (not .combyne) you can easily change:

app.engine("html", combynExpress());
app.set("view engine", "html");

You can set certain options during the invocation by passing an object:

app.engine("combyne", combynExpress({ filtersDir: "filterz" }));
app.set("view engine", "combyne");

Changing Combyne settings.

You can change internal settings to Combyne through the exposed settings property:

combynexpress.settings.delimiters = {};

Working with partials.

Within Express, all Combyne partials are mapped to views. This allows you to trivially load from a partials directory like:

{%partial partials/my-partial %}

This would then map to the customized views directory and load partials/my-partial from there.

Working with injected partials.

While using Express it's often desired to wrap a page template with a layout.

An example layout:

<body>{%partial body%}</body>

A page template that looks like this:

{%extend layout as body%}
Hello world
{%endextend%}

This will automatically fetch the layout view and render the page template within the body partial.

Registering global partials.

You can register global partials:

var combynExpress = require("combynexpress");
 
// Assign a basic partial.
combynExpress.registerPartial("global", {
  render: function() { return "global"; }
});

Global partial naming will override any local partials and not incur a filesystem hit.

Working with filters.

Within Express, all Combyne filters are mapped to files. This allows you to trivially load from a filters directory like:

{{ prop|my-filter }}

This will require the filter functions and register them onto the template. In the above example it would look for filters/my-filter.js in the configured views directory. You can change the directory to search for templates in:

combynExpress.settings.filtersDir = "some-other-folder";

Registering global filters.

You can register global filters:

// Assign a basic identity filter.
combynExpress.registerFilter("my-global-filter", function(value) {
  return value;
});

Global filter naming will override any local filters and not incur a filesystem hit.

Readme

Keywords

Package Sidebar

Install

npm i combynexpress

Weekly Downloads

6

Version

3.0.0

License

MIT

Last publish

Collaborators

  • tbranyen