0.2.1 • Published 7 years ago

curet v0.2.1

Weekly downloads
1
License
MIT
Repository
-
Last release
7 years ago

curet: Cure Template

Overview

curet (Cure Template) is a small template engine for JavaScript.

“渾沌のJS業界に咲く一輪の花、キュア・テンプレート!”

curet requires ES2015 template literal and tag function features.

Usage

  <div id="placeholder"></div>

  <script type="text/template" id="tmpl1">
    <table border="1">
      <tbody>
        <!--% for (var i = 0; i < this.items.length; i++) { %-->
        <!--%   let x = this.items[i]; %-->
        <tr id="row-${i}">
          <th>${x.id}</th>
          <td>${x.name}</td>
        </tr>
        <!--% } %-->
      </tbody>
    </table>
  </script>

  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  <script src="./curet.js"></script>

  <script>
  $(function() {
    /// create context data
    let context = {
      items: [
        {id: 111, name: "<Alice>&<Bob>"}
      , {id: 222, name: "Bob"}
      , {id: 333, name: "Charlie"}
      ]
    };
    /// render template with context data
    let html = curet.render('#tmpl1', context);
    $('#placeholder').html(html);
    /// or
    $('#tmpl1').renderWith(context, '#placeholder');
  });
  </script>

Tips:

Changing embedded statement pattern:

/// use '%% ... %%' instead of '<!--% ... %-->'
curet.STATEMENT_REGEXP = /(^[ \t]*)?%%([\s\S]*?)%%(\n?)/mg;

Errors:

If template selector is wrong, you may got an error. For example:

<script id="tmpl-ex1" type="text/template">
  <p>${this.value}</p>
</script>

<script>
//let $t = $('#tmpl-ex1');   // collect
let $t = $('tmpl-ex1');      // wrong
let context = {value: 12345};
$t.renderWith(context, '#placeholder');
  //=> error: $('tmpl-ex1').renderWith(): missing template element.
</script>

License

MIT License

Copyright

copyright(c) 2018 Kauplan Agency all rights reserved.

0.2.1

7 years ago

0.2.0

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago