0.0.1 • Published 11 years ago

jeml-example v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 years ago

jeml-example

Installation

$ npm install jeml-example

example

in layout.jeml:

default (title, body) {
    html: {
        head: {
            title: `title`
            script(src="some_address...")
        }
        body: {
            `body`
        }
    }
}

in view.jeml:

import layout "./layout" // import default mixin from layout.jeml

default {
    % var title = "I am title";
    `layout(title, body())`
}

mixin body {
    p: "I am body"

    % var users = {
    %     "foo": "I am foo",
    %     "bar": "I am bar"
    % }

    for name: introduction in `users` {
        p: { "name: " `name`}
        p: { "introduce: " `introduction`}
    }
}

export print_name (name) {
    p: { "my name is " `name` }
}

in main.js:

// you need to compile *.jeml file to *.js file before `require`
var view = require('jeml-example');
var beautify = require('js-beautify').html;

console.log(beautify(view()));
console.log(beautify(view.print_name("Gyson")));
/* output:
<html>

<head>
    <title>I am title</title>
    <script src="some_address..."></script>
</head>

<body>
    <p>I am body</p>
    <p>name: foo</p>
    <p>introduce: I am foo</p>
    <p>name: bar</p>
    <p>introduce: I am bar</p>
</body>

</html>
*/

console.log(view.print_name("Gyson"));
/* output:
<p>my name is Gyson</p>
*/