Snakeskin

Demo

HTML

<script src="http://kobezzza.com/files/snakeskin.min.js"></script>
<script type="text/x-snakeskin-template" id="templates">
    - proto foo->bar(a, b)
        {a + b}
    
    - template foo()
        - proto fffuuu(i)
            - if i
                - apply bar(1, i)
                - apply fffuuu(--i)
    
    - template bar() extends foo
        - proto bar(a, b)
            {(a + b) * 10}
    
        - block some
            - apply fffuuu(3)
</script>

<div id="test"></div>

JavaScript

Snakeskin.compile(document.getElementById('templates'));
document.getElementById('test').innerHTML = bar();