@pattern-lab/engine-underscore
The Underscore engine for Pattern Lab / Node
Last updated a month ago by bmuenzenmeyer .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @pattern-lab/engine-underscore 
SYNC missed versions from official npm registry.

The Underscore PatternEngine for Pattern Lab / Node

Installing

To install the Underscore PatternEngine in your edition, npm install @pattern-lab/engine-underscore should do the trick.

Supported features

Extensions to basic Underscore functionality

Pattern including

Underscore templates include no native support for calling other templates, so support for pattern including is accomplished through an included Underscore mixin function, _.renderNamedPartial(), and is considered experimental, but seems to work just fine.

Example

<p>
  Here's a large button, with parameters:
  <%- _.renderNamedPartial('atoms-button', { variantClass: 'btn-large' }) %>
</p>

Safely referring to deeply nested data in the pattern JSON

When referring to deeply nested data, it's helpful to have a way of doing that (as Handlebars and Mustache do) that's tolerant of unexpected null values. For example, if you have the following pattern JSON:

{
  "foo": {
    "bar": {
      "value": "That is the question:"
    }
  }
}

And the following in an underscore template that refers to it:

<p>
  To be, or not to be, <%= foo.bar.value %>
</p>

If you feed that template JSON that (for whatever reason) has foo.bar as null, the pattern will crash because null.value throws an exception. It's nice to be able to write this instead:

<p>
  To be, or not to be, <%= _.getPath('foo.bar.value', obj) %>
</p>

and know that the output will be more safely "To be, or, not to be, null" instead of just throwing an error and crashing the pattern. This is mainly useful for operationalized pattern templates that will be provided with JSON from services that you can't control in Pattern Lab.

Note that obj is an Underscore pattern's current data context. See Dr. Axel Rauschmeyer's article for more.

Current Tags

  • 5.0.0                                ...           latest (a month ago)

9 Versions

  • 5.0.0                                ...           a month ago
  • 2.0.0-beta.1                                ...           9 months ago
  • 2.0.0-beta.0                                ...           a year ago
  • 2.0.0-alpha.7                                ...           a year ago
  • 2.0.0-alpha.6                                ...           a year ago
  • 2.0.0-alpha.5                                ...           2 years ago
  • 2.0.0-alpha.4                                ...           2 years ago
  • 2.0.0-alpha.3                                ...           2 years ago
  • 2.0.0-alpha.2                                ...           2 years ago
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 18
Dependencies (1)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |