Minimalist CoffeeCup.js

Why MiniCoffeeCup? Ú³ υ³

Inspired by coffeecup, and ck, and mini-handlebars libraries.

As I was developing mini-coffeecup, I had a better idea which became coffee-templates. I will still keep mini-coffeecup around for posterity, but no new features are likely to be added.

# this line is only required within node 
MiniCoffeeCup = require 'mini-coffeecup'
# initialize new engine 
coffeecup = new MiniCoffeeCup format: true
# provide template expression 
template = (data) ->
  doctype 5
  html ->
    head ->
      title @title
    body ->
      p 'Hello, {{name}}!'
      p 'Here are your Christmas lists ({{santa_laugh}}):'
      table ->
        thead ->
          tr ->
            block 'each children, name'->
              th '{{name}}'
        tbody ->
          tr ->
            block 'each children, name'->
              td ->
                block 'each list'->
                  ul ->
                    li '{{this}}'
# for example 
locals =
  title: 'Christmas List'
# render coffeecup template to html 
console.log coffeecup.render templatelocals

As usual, for the latest examples, review the easy-to-follow ./test/

Or try it immediately in your browser with codepen.

  • support inline stylus?