1kb template engine for the browser and nodejs. Support helpers, partials and more.

Used in AbsurdJS Apps.

Install

npm i octet --save

Features

minimal, yet simple 845 bytes - browserified, gzipped and minified 1676 bytes - browserified and minified

zero dependencies

works on every browser, should even works on IE6 or at least IE8

works on the server with just require('octet')

plays well with Browserify and BrowserifyCDN

support helpers and partials

available on CDNs - BrowserifyCDN and RawGit CDN

Use it

Usage

For more use-cases see the tests.

You can use any "helpers" lib, for example utils.

var octet = require ( ' octet ' ) var utils = require ( ' utils ' ) octet . render ( ' foo <%this.uppercase("bar")%> baz ' , utils . _ )

Acts like .render by default. Renders given str with locals .

str {String} template to populate with locals

template to populate with locals {Object} locals object

locals object returns {String} rendered string

Example

octet ( ' foo <%this.bar%> baz <%this.quux%> ' , { bar : ' bar ' , quux : ' QUUX ' } )

Renders given str with locals .

str {String} template to populate with locals

template to populate with locals {Object} locals object

locals object returns {String} rendered string

Example

octet . render ( ' Hello <%this.place%> and <%this.user.name%>! ' , { place : ' world ' , user : { name : ' Charlike ' } } )

Compiles given string and returns function which accepts locals object.

str {String} template to populate

template to populate returns {Function} which accepts locals objects

Example

var fn = octet . compile ( ' Hello <%this.place%> and <%this.user.name%>! ' ) fn ( { place : ' world ' , user : { name : ' Charlike ' } } )

Related

j140: Template engine in 140 bytes, by @jed Schmidt. Support helpers, partials and more.

es6-template: Easy and small template engine for the browser and nodejs.

es6-template-regex: Regular expression for matching es6 template delimiters in a string.

es6-template-strings: Compile and resolve template strings notation as specified in ES6

gulp-j140: Gulp plugin for j140 - template engine in 140 bytes by @jed Schmidt.

- template engine in 140 bytes by @jed Schmidt. gulp-octet: Gulp plugin for octet - template engine in just 20 lines - used in AbsurdJS.

- template engine in just 20 lines - used in AbsurdJS. gulp-es6-template: Gulp plugin for es6-template - easy and small template engine.

- easy and small template engine. gulp-es6-template-strings: Gulp plugin for es6-template-strings package.

package. jstransformer-es6-template: es6-template support for JSTransformers

jstransformer-es6-template-strings: es6-template-strings support for JSTransformers

jstransformer-octet: octet support for JSTransformers

jstransformer-j140: j140 support for JSTransformers

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

But before doing anything, please read the CONTRIBUTING.md guidelines.