This defines a date
filter for Nunjucks
implementing moment.js, a rich date manager.
You may install this plugin with this command:
npm install nunjucks-date-filter --save-dev
You must first include the filter and then add it to your nunjucks environment:
var dateFilter = require('nunjucks-date-filter');
var env = new nunjucks.Environment();
env.addFilter('date', dateFilter);
A shortcut is proposed in the package:
var dateFilter = require('nunjucks-date-filter');
dateFilter.install(
[ env ] // by default, current nunjucks environment will be used
[ , custom_filter_name ] // by default, the filter will be named "date"
);
You can also define a default date format:
var dateFilter = require('nunjucks-date-filter');
dateFilter.setDefaultFormat('YYYY');
Once it is installed, you can call the filter in your nunjucks templates:
// with no format
This blog has been created at {{ creation_date | date }}.
// with a custom format
This blog has been created at {{ creation_date | date("YYYY") }}.
// with an addition first
This blog has been created at {{ creation_date | date("add", 7, "days") | date }}.
The moment library proposes a large set of date formats you can use to customize the filter output. It also embeds a huge set of methods to manipulate dates. Any of these methods can be called using the filter, passing as many arguments as needed (see example above).
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Mocha.