Skip to content

js-scala/forest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

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.

Releases

No releases published

Packages

No packages published

Languages