{"id":15184558,"url":"https://github.com/assemble/assemble-nunjucks","last_synced_at":"2025-04-24T09:31:37.406Z","repository":{"id":57185015,"uuid":"64018269","full_name":"assemble/assemble-nunjucks","owner":"assemble","description":"Adds nunjucks support to assemble, with some assemble-specific conveniences.","archived":false,"fork":false,"pushed_at":"2016-07-26T05:54:41.000Z","size":12,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-18T10:28:10.969Z","etag":null,"topics":["assemble","engine","nunjucks"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/assemble.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-23T13:51:22.000Z","updated_at":"2020-02-05T16:04:49.000Z","dependencies_parsed_at":"2022-09-17T07:20:13.329Z","dependency_job_id":null,"html_url":"https://github.com/assemble/assemble-nunjucks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assemble%2Fassemble-nunjucks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assemble%2Fassemble-nunjucks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assemble%2Fassemble-nunjucks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assemble%2Fassemble-nunjucks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/assemble","download_url":"https://codeload.github.com/assemble/assemble-nunjucks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250600709,"owners_count":21457012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assemble","engine","nunjucks"],"created_at":"2024-09-27T17:04:48.495Z","updated_at":"2025-04-24T09:31:37.125Z","avatar_url":"https://github.com/assemble.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# assemble-nunjucks [![NPM version](https://img.shields.io/npm/v/assemble-nunjucks.svg?style=flat)](https://www.npmjs.com/package/assemble-nunjucks) [![NPM downloads](https://img.shields.io/npm/dm/assemble-nunjucks.svg?style=flat)](https://npmjs.org/package/assemble-nunjucks) [![Build Status](https://img.shields.io/travis/assemble/assemble-nunjucks.svg?style=flat)](https://travis-ci.org/assemble/assemble-nunjucks)\n\nAdds nunjucks support to assemble, with some assemble-specific conveniences.\n\n## Usage\n\nAdd [nunjucks](https://github.com/mozilla/nunjucks) support to [assemble](https://github.com/assemble/assemble):\n\n```js\nvar engine = require('assemble-nunjucks');\nvar assemble = require('assemble');\napp.use(engine());\n```\n\n### Examples\n\nUse with `.render`\n\n```js\napp.page({path: 'foo.njk', contents: 'this is {{name}}'});\n\n// render a view\napp.render('foo.njk', {name: 'Foo'}, function(err, res) {\n  console.log(res.contents.toString());\n  //=\u003e 'this is Foo'\n});\n```\n\nUse with `.renderFile`\n\n```js\napp.src('*.njk')\n  .pipe(app.renderFile())\n  .on('data', function(file) {\n    console.log(file.contents.toString());\n    //=\u003e 'this is Foo'\n  });\n```\n\n## What does this do?\n\nAdds support for [nunjucks](https://github.com/mozilla/nunjucks)\n\n* [rendering](#engine)\n* [filters support](#filters)\n* [async filters support](#async-filters)\n\nNote that you can pass your own [env](http://mozilla.github.io/nunjucks/api.html#environment) on the options, so you can work directly with the [Nunjucks API](http://mozilla.github.io/nunjucks/api.html) if you need to do something that isn't listed here.\n\nPull requests are also welcome!\n\n### Engine\n\nRegisters [engine-nunjucks](https://github.com/jonschlinkert/engine-nunjucks) to the `njk` [extension](http://mozilla.github.io/nunjucks/templating.html#file-extensions).\n\nThis means that assemble will automatically use this engine to render templates with the extension `.njk`.\nTo force assemble to use this engine for rendering all templates, do:\n\n```js\napp.option('engine', 'njk');\n```\n\n### Filters\n\nAllows you to register a [nunjucks filter](http://mozilla.github.io/nunjucks/templating.html#filters) using:\n\n```js\napp.helper('foo', function(str) {\n  // do stuff to str\n  return str;\n});\n// or\napp.addFilter('foo', function(str) {\n  // do stuff to str\n  return str;\n});\n```\n\nRegister multiple filters with:\n\n```js\napp.helpers({\n  foo: function() {},\n  bar: function() {},\n  baz: function() {}\n});\n// or\napp.addFilters({\n  foo: function() {},\n  bar: function() {},\n  baz: function() {}\n});\n```\n\n### Async Filters\n\nAllows you to register an [async nunjucks filter](http://mozilla.github.io/nunjucks/api.html#asynchronous-support) using:\n\n```js\napp.asyncHelper('foo', function(str) {\n  // do stuff to str\n  return str;\n});\n// or\napp.asyncAddFilter('foo', function(str) {\n  // do stuff to str\n  return str;\n});\n```\n\nRegister multiple filters with:\n\n```js\napp.asyncHelpers({\n  foo: function() {},\n  bar: function() {},\n  baz: function() {}\n});\n// or\napp.asyncAddFilters({\n  foo: function() {},\n  bar: function() {},\n  baz: function() {}\n});\n```\n\n## Customization\n\nOptionally pass your own `nunjucks` (module):\n\n```js\napp.use(engine({nunjucks: require('nunjucks')}));\n```\n\nOptionally pass your own `env`:\n\n```js\nvar nunjucks = require('nunjucks');\nvar env = new nunjucks.Environment();\napp.use(engine({env: env}));\n```\n\n## About\n\n### Related projects\n\n* [engine-nunjucks](https://www.npmjs.com/package/engine-nunjucks): More comprehensive consolidate-style engine support for nunjucks. Should work with express, assemble, verb, generate, update… [more](https://github.com/jonschlinkert/engine-nunjucks) | [homepage](https://github.com/jonschlinkert/engine-nunjucks \"More comprehensive consolidate-style engine support for nunjucks. Should work with express, assemble, verb, generate, update, and any other app that follows consolidate conventions.\")\n* [generate](https://www.npmjs.com/package/generate): Command line tool and developer framework for scaffolding out new GitHub projects. Generate offers the… [more](https://github.com/generate/generate) | [homepage](https://github.com/generate/generate \"Command line tool and developer framework for scaffolding out new GitHub projects. Generate offers the robustness and configurability of Yeoman, the expressiveness and simplicity of Slush, and more powerful flow control and composability than either.\")\n* [update](https://www.npmjs.com/package/update): Be scalable! Update is a new, open source developer framework and CLI for automating updates… [more](https://github.com/update/update) | [homepage](https://github.com/update/update \"Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.\")\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d \u0026\u0026 npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/assemble/assemble-nunjucks/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on July 26, 2016._","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemble%2Fassemble-nunjucks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fassemble%2Fassemble-nunjucks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemble%2Fassemble-nunjucks/lists"}