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

grunt-bracer

v0.1.0

Published

Pre render mustache templates

Downloads

12

Readme

Bracer

Bracer is a simple grunt task which lets you render and compile mustache and handlebar templates.

You can define data sources, partial directories, and helper files.

For each target, you can also define local partials and data. This is helpful if your project is module based, and each template is contained in a component folder. Local partials and data will be resolved relative to each template, and takes precedence during lookup. In context creation, this means local scopes will override global properties.

Options

partials

Type: String Default: ""

A directory path where partials will be resolved globally.

localPartials

Type: String Default: ""

A target specific option. A path fragment for a directory. This will be concatenated to the currently processed templates directory name, and partials for that template will be first looked up here.

data

Type: String Default: ""

A globbing pattern for .json files. Every file will be placed on an object that will represent the global rendering context. Their file names will be property keys, and their value will be the parsed content.

localData

Type: String Default: ""

A globbing pattern fragment. This will be concatenated to the currently processed template's directory name, and executed. The resulting data object then will be merged with the global context. This merged context will be passed to the renderer.

helpers

Type: String Default: ""

A globbing patter for .js files. These files will be require()-d and executed with two arguments like this:

require(helper)(global, grunt)

In the js file, you can then attach helpers to the global scope to use in templates. You can also use grunt's static methods from the second argument.

Install

npm install bracer --save-dev

Grunt task

grunt.loadNpmTasks('grunt-bracer');

Usage

grunt.initConfig({
  bracer: {
    options: {
      partials: "test/global/partials/",
      data: "test/global/data/*.json",
      helpers: "test/global/helpers/*.js"
    },
    render: {
      options: {
        localPartials: "partials/",
        localData: "data/*.json"
      },
      expand: true,
      cwd: "test/template/",
      src: "*.mustache",
      dest: "test/rendered/",
      ext: ".html"
    }
  }
})