A 'date' filter for Nunjucks implementing moment.js
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead of e-picas:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

nunjucks-date-filter

Build Status Code Climate

This defines a date filter for Nunjucks implementing moment.js, a rich date manager.

Getting Started

You may install this plugin with this command:

npm install nunjucks-date-filter --save-dev

Usage

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 }}.

Momentjs usage

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).

Contributing

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.