/swig-dummy-context

given a swig template, create a dummy context which is useful for template composing tools

Primary LanguageJavaScriptMIT LicenseMIT

swig-dummy-context

Note: this module does not work with swig 1.x and beyond.

Given a swig template, produce a dummy context that you can immediately use to preview your template.

See also swig-email-templates

Example Usage

Contents of template.html:

<div>
  {{ description }}
</div>
{% if articles %}
  <ul>
  {% for article in articles %}
    <li>{{ article.name }}</li>
  {% endfor %}
  </ul>
{% else %}
  <p>{{ defaultText }}</p>
{% endif %}
var swig = require('swig')
  , createDummyContext = require('swig-dummy-context')

swig.init({
  allowErrors: true,
  root: path.join(__dirname, "templates"),
});
var template = swig.compileFile("template.html");
assert.deepEqual(createDummyContext(template), {
  "description": "description",
  "articles": [{
    "name": "name",
  }],
  "defaultText": "defaultText"
});