1.1.8 • Published 11 months ago

nunjucks-command v1.1.8

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Nunjucks-Command

A simple Nunjucks command-line (CLI) tool to compile and watch templates into static HTML files.

In addition to rendering files with an input JSON blob, there is built-in support for a couple useful features:

  • Support for front-matter in your nunjucks templates.
  • Auto-generated template file slugs can be auto-injected into template data during render.
  • This package is not locked to any version of nunjucks, uses async/await, and has a minimal dependency list.

Installation

npm i -D nunjucks-command # local
npm i -g nunjucks-command # global

Usage

nunjucks <file|glob> [context] [options]

For convenience, process.env object is added to the context as env.

Front-Matter

Include the supported front-matter start {% fm %} and end {% endfm %} tags. Within these tags, add a valid JSON document. The values in this front-matter are assigned to the current context object for that rendered template only.

This will override any preset or added context data for that template, from that render-point onward.

For example the following would output a "hello mars!" message in the HTML:

{% fm %}
{
    "message": "hello mars!"
}
{% endfm %}
<html>
    {{message}}
</html>

Basic examples

nunjucks foo.tpl data.json

Compiles foo.tpl to foo.html with data from data.json (and variables from process.env as env).

nunjucks **/*.tpl

Compiles all .tpl files (including subdirectories), except the ones starting by _ (so you can use them as layouts).

Options

--path <directory>

-p <directory>

Path where the templates live. Default to the current working directory. See https://mozilla.github.io/nunjucks/api.html#configure

--out <directory>

-o <directory>

Output directory.

--slug

-s

Attach a "template.slug" property in data for each rendered file that represents the relative file path. This, for example, can be accessed in a nunjucks template: {{ template.slug }}

--watch

-w

Allows to keep track of file changes and render accordingly (except files starting by _).

--extension <ext>

-e <ext>

Extension for rendered files. Defaults to html.

--options <file>

-O <file>

Takes a json file as Nunjucks options. Defaults are :

{
    "trimBlocks": true,
    "lstripBlocks": true,
    "noCache": true
}

See https://mozilla.github.io/nunjucks/api.html#configure

Advanced examples

nunjucks foo.tpl -p src -o dist -O nj.json

Compiles src/foo.tpl to dist/foo.html, with nj.json as nunjucks environnement options.

nunjucks *.tpl data.json -w -p src

Compiles all .tpl files (except ones starting with _) in the src folder to the current working directory, with data.json as metadata, and keeps running in the background for files changes.

1.1.8

11 months ago

1.1.7

11 months ago

1.1.6

11 months ago

1.1.5

11 months ago

1.1.4

11 months ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago