Skip to content

Instantly share code, notes, and snippets.

@julienrf
Created December 1, 2011 15:11
Show Gist options
  • Save julienrf/1417459 to your computer and use it in GitHub Desktop.
Save julienrf/1417459 to your computer and use it in GitHub Desktop.
forest
{* Example of template processing an article *}
{article: Article}
li class="article {article.featured ? 'featured'}" /view.root
a href="/details"
| {article.name} /data.name
span.actions
button type=button /view.editBtn | Edit
button type=button /view.deleteBtn | Delete
var result = foo({
article: {
featured: true,
name: 'Bar'
}
});
console.log(result);
// {
// view: {
// root: HTMLLiElement,
// editBtn: HTMLButtonElement,
// deleteBtn: HTMLButtonElement
// },
// data: {
// name: "Bar"
// }
// }
console.log(result.root.outerHTML);
// <li class="article featured">
// <a href="/details">Bar</a>
// <span class="actions">
// <button type="button">Edit</button>
// <button type="button">Delete</button>
// </span>
// </li>
case class Article(name: String, featured: Boolean)
print(foo(Article("Baz", false)))
// <li class="article">
// <a href="/details">Baz</a>
// <span class="actions">
// <button type="button">Edit</button>
// <button type="button">Delete</button>
// </span>
// </li>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment