Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    grunt-ejspublic

    grunt-ejs

    A Grunt task for compiling ejs templates.

    Getting Started

    Install this grunt plugin next to your project's Gruntfile.js with: npm install grunt-ejs --save-dev.

    Then add this line to your project's Gruntfile.js:

    grunt.loadNpmTasks('grunt-ejs');

    Documentation

    Add the task to your config and specify the destination for the compiled file:

    grunt.initConfig({
      ejs: {
        all: {
          src: ['app/**/*.ejs', '!app/partials/**/*'],
          dest: 'dist/',
          expand: true,
          ext: '.html',
        },
      },
    });

    Passing data/helpers to the templates

    Use options to pass data and helpers to the templates:

    Gruntfile.js:

    grunt.initConfig({
      ejs: {
        all: {
          options: {
            title: 'My Website',
            url: function(url) {
              return 'http://example.com/formatted/url/' + url;
            },
          },
          src: ['app/**/*.ejs', '!app/partials/**/*'],
          dest: 'dist/',
          expand: true,
          ext: '.html',
        },
      },
    });

    app/index.ejs:

    <html>
      <head>
        <title><%= title %></title>
      </head>
      <body>
        <a href="<%= url('home.html') %>">Home Page</a>
      </body>
    </html>

    Ideally all your helpers and non-app specific config should be another module and merged in like this:

    grunt.initConfig({
      ejs: {
        all: {
          options: grunt.util._.merge(require('my-helpers'), {
            title: 'My Website'
          }),
          src: 'index.ejs',
          dest: 'index.html',
        },
      },
    });

    Release History

    • 0.3.0
      • update ejs to 2.2.3
      • fix file options
    • 0.2.0 update ejs to 1.0.0
    • 0.1.0 initial release

    License

    Copyright (c) 2014 Kyle Robinson Young Licensed under the MIT license.

    install

    npm i grunt-ejs

    Downloadsweekly downloads

    802

    version

    0.3.0

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar