1.1.6 • Published 6 years ago

web-es6-templates v1.1.6

Weekly downloads
64
License
-
Repository
github
Last release
6 years ago

ES6 template engine interface

npm (scoped) coverage Build Status JavaScript Style Guide

This module allows native ES6 template literals to be used with DADI Web.

Installation

  • Add this module as a dependency:

    npm install web-es6-templates --save
  • Include it in the engines array passed to Web:

    require('@dadi/web')({
      engines: [
        require('web-es6-templates')
      ]
    })

Usage

Config

You can change the folder where your helpers are stored in your config.xxx.json file:

  "engines": {
    "es6": {
      "paths": {
        "helpers": "site/helpers"
      }
    }
  }

Helpers

The base directory for absolute paths is the utils/helpers directory.

Helpers are required() functions that can be embeded into templates to keep your code DRY. Take this example which could live in your helpers folder as slugify.js.

var s = require('underscore.string/slugify')

module.exports.slugify = (chunk) => {
  return s(chunk)
}

This function would be used in a template file like so:

${slugify('The Quick Brown Fox Jumps Over The Lazy Dog')}

Output:

the-quick-brown-fox-jumps-over-the-lazy-dog

Includes

The base directory for absolute paths is the pages/ directory. Take the following directory tree.

pages/
|_ partials/
|_ |_ header.js
|_ |_ footer.js
|_ index.js
|_ index.json

To include the partials from index.js, you can use an underscore to indicate a sub-folder:

${partials_header}

<h1>ES6 Templates test</h1>

<p>This page lives at ${host}.</p>

<h2>Loop test</h2>

<ul>
  ${posts.results.map(i => `<li>${i.attributes.title}</li>`).join('')}
</ul>

${partials_footer}
1.1.6

6 years ago

1.2.0

6 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

0.0.1

7 years ago

0.0.0

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago