Skip to content

Format dates with date.js and moment.js. Uses date.js to parse human readable date phrases, and moment to format the rendered output. Should work with any Handlebars, Lo-Dash, underscore, or any template engine that allows helper functions to be registered. Also compatible with verb, assemble and Template.

License

Notifications You must be signed in to change notification settings

aymanc/helper-date

 
 

Repository files navigation

helper-date NPM version

Format dates with date.js and moment.js. Uses date.js to parse human readable date phrases, and moment to format the rendered output. Should work with any Handlebars, Lo-Dash, underscore, or any template engine that allows helper functions to be registered. Also compatible with verb, assemble and Template.

Examples

With Handlebars:

{{date "5 years ago" "YYYY"}}
//=> 2010

With Lo-Dash or Underscore:

<%= date("5 years ago", "YYYY") %>
//=> 2010

With Verb (lo-dash, with special delimiters to avoid delimiter collision in markdown docs):

{%= date('5 years ago', 'YYYY') %}
//=> 2010

Install with npm

npm i helper-date --save

Run tests

npm test

Register the helper

This should work with any engine, here are a few examples

Register the helper for use with any template engine

template.helper('date', require('helper-date'));

To register the helper for use with assemble v0.6.x:

assemble.helper('date', require('helper-date'));

Register the helper for use with verb:

var verb = require('verb');
verb.helper('date', require('helper-date'));

verb.task('default', function() {
  verb.src('.verb*.md')
    .pipe(verb.dest('./'));
});
var handlebars = require('handlebars');
handlebars.registerHelper('date', require('helper-date'));

Usage

{{date "5 years ago" "YYYY"}}
// as a mixin
_.mixin({date: dateHelper});
_.template('<%= _.date("5 years ago", "YYYY") %>', {});
//=> 2010

// passed on the context
_.template('<%= date("5 years ago", "YYYY") %>', {date: dateHelper});
//=> 2010

// as an import
var settings = {imports: {date: dateHelper}};
_.template('<%= date("5 years ago", "YYYY") %>', {}, settings);
//=> 2010

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

To request or contribute a helper to the github.com/helpers org, please read this contributing guide to get started.

Author

Jon Schlinkert

License

Copyright (c) 2015 Jon Schlinkert
Released under the MIT license


This file was generated by verb on February 17, 2015.

About

Format dates with date.js and moment.js. Uses date.js to parse human readable date phrases, and moment to format the rendered output. Should work with any Handlebars, Lo-Dash, underscore, or any template engine that allows helper functions to be registered. Also compatible with verb, assemble and Template.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%