layouts
Wrap templates with layouts. Layouts can be nested and optionally use other layouts.
Install with npm
npm i layouts --save
Usage
var layouts = require('layouts');
Usage
Example
layouts('<div>This is content</div>', 'base', {base: {content: 'base above\n{% body %}\nbase below'}});
Results in:
base above
<div>This is content</div>
base below
API
layouts(string, name, layouts);
Given an object of layouts
, and the name
of a starting layout:
- build a layout stack (from the
layouts
object) for the given string
, then - iterate over the stack, wrapping each layout in the stack around the string
- return the string with layouts applied
str
{String}: The content string that should be wrapped with a layout.name
{String}: The name of the layout to use.layout{s}
{Object}: Object of layouts. name
should be a key on this object.options
{Object}
layoutDelims
{Object}: Custom delimiters to use.defaultLayout
{Object}: Default layout to use.
returns
{String}: Returns the original string, wrapped with a layout, or layout stack.
Author
Brian Woodward
License
Copyright (c) 2014-2015 Brian Woodward
Released under the MIT license
This file was generated by verb on February 13, 2015.