1-02

Papercraft

->(name) {
  div {
    h1 {
      a "Hello, #{name}!",
        href: '/foo'
    }
  }
}
  • Always correct HTML formatting.
  • Minimal syntax, easy to read and write.
  • Explicit arguments.
  • Organize your templates however you want.

ERB

<div>
  <h1>
    <a href="/foo">
      Hello, <%= @name %>!
    </a>
  </h1>
</div>

  • Error prone.
  • Verbose, harder to read / write.
  • Implicit variables / ivars.
  • Keep templates in separate files.