1.0.1 • Published 7 years ago

stml v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

Super Type Markup Language

Lightweight JavaScript template engine for better cleaner code.

Travis branch Coveralls branch npm npm

Install

$ npm install stml
# Or
$ yarn add stml

Usage

import fs from 'fs'
import path from 'path'
import stml from 'stml'

const src = fs.readFileSync(path.join(__dirname, 'template.html'))
const dest = stml.compile(src, {
  locals: {
    entries: ['James', 'John', 'Tom']
  },
  filename: path.join(__dirname, 'template.html')
})

console.log(dest)

API

NameTypeDefaultDescription
localsObjectThe options to pass params to template.
filenameStringThe absolute path souce filename when extends is declared.
expressionOpenString'{'Expression statement open syntax.
expressionCloseString'}'Expression statement close syntax.
blockOpenString'<%'Block statement open syntax.
blockCloseString'%>'Block statement close syntax.

Syntax

expression statement

Use jsx syntax for expression statement.

<div>{ name }</div> <!-- escape -->
<div>{- name }</div> <!-- unescape -->

block statement

Use jsp syntax for block statement.

<% if (entries.length) { %>
  <ul>
    <% entries.forEach(function(entry){ %>
      <li>{ entry }</li>
    <% }) %>
  </ul>
<% } %>

extends statement

Use jsp syntax for extends statement.

<% extends 'header.html' %>

License

Released under the MIT license.