This page is under construction!

Edit on GitHub

Components

Mayu components are written in a dialect of Haml. Mayu parses Haml code and transforms it into Ruby.

To see how these transformations are made, see the Haml transformer test examples.

Component structure

This is the basic structure of a component:

:ruby # optional ruby block %p Haml goes here :css /* optional css block */

In the :ruby block, which has to come first, you can import other components and define methods.

A basic component

Here is the most basic component

%p Hello world

It compiles into:

Mayu::VDOM::H[:p, "Hello world"]

Multiple children

Only the last child is returned, so if you want to return more than one element you need to group them.

%div %p Hello world %button Click me

Interpolation

You can perform string interpolation in a lot of places:

:ruby text = "hello world" %div %p Contents of text: #{text.inspect} %button(title=text) Button with a title %button{title: "text: #{text}"} Button with a title