2.0.2 • Published 4 years ago

panda-template v2.0.2

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

panda-template

Build Status

Handlebars + Panda Goodies in a quick and easy interface.

import PandaTemplate from "panda-template"
import {read} from "fairmont"
T = new PandaTemplate()

do ->
  template = await read "template.md"
  data = await read "data.yaml"
  T.registerPartial "section1", await read "section1.md"
  T.registerPartial "section2", await read "section2.md"
  T.render template, data

Built on Handlebars.

In addition, we include the following helpers:

  • values: return the values of an object.
  • filter <property> <value>: selects objects whose <property> is the given <value>.
  • pluck <property>: maps an array of objects into an array of values using the given <property>.
  • join <delimiter>: converts an array to a string using the given <delimiter>.
  • sprintf <format> <string>: formats the <string> using the printf-style <format> string.
  • hang <indent> <width> <string>: Format <string> with a hanging indent of <indent> spaces and line <width>.
  • json <value>: serialize into JSON.

API

render

template, context => rendered template

Outputs a rendered template using Handlebars compile.

registerPartial

name, template => null

PandaTemplate associates the Handlebars library as an instance variable when you construct a new PandaTemplate class. This registers a template partial, at the given name, with that Handlebars instance.

handlebars

null => instance of Handlebars

PandaTemplate associates the Handlebars library as an instance variable when you construct a new PandaTemplate class. This exposes that instance for more developer flexibility.