Skip to content

js-scala/forest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Sep 16, 2014
4f94f27 · Sep 16, 2014
Jul 16, 2013
Sep 16, 2014
Feb 7, 2013
Feb 7, 2013

Repository files navigation

Forest: DSL for defining HTML fragments

Forest is a DSL to define how to represent data in HTML. It can produce JavaScript or Scala computations, thus allowing to render HTML fragments on client side or on server side.

Example of HTML template using forest:

def profile(user: Rep[User]) =
  el('dl)(
    el('dt)("Name"),
    el('dd)(user.name),
    el('dt)("Age"),
    el('dd)(user.age)
  )

Rendering this template will produce a DOM fragment equivalent to the following markup:

<dl>
  <dt>Name</dt>
  <dd>Julien</dd>
  <dt>Age</dt>
  <dd>27</dd>
</dl>

See the tests for more examples.

Setup

First, setup js-scala.

Then, you can build the forest DSL:

Go under the forest/ subdirectory and run sbt. You can check the tests, or publish-local.

You may also be interested in the external DSL layer:

Go under the compiler/ subdirectory and run sbt publish-local.