npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nunjucks-command

v1.1.8

Published

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

Downloads

14

Readme

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.