Haml: Prefixing a group of attributes

Posted . Visible to the public.

Haml lets you prefix a group of attributes by wrapping them in a hash. This is only possible with the {} attribute syntax, not with the () attribute syntax.

Example: HTML5 data attributes

HTML5 allows you to use arbitrary attributes like data-method and data-confirm. You can prefix a group of data- attributes like this:

%a{href: '/path', data: { method: 'delete', confirm: 'Really delete?' }} Label

This compiles to:

<a data-confirm='Really delete?' data-method='delete' href='/path'>Label</a>

Example: Unpoly attributes

You might also want to use this to define multiple Unpoly Show archive.org snapshot attributes, which are all prefixed by up-:

%a{href: '/path', up: { target: '.element', transition: 'zoom-in' }} Label

This compiles to:

<a href='/path' up-target='.element' up-transition='zoom-in'>Label</a>
Profile picture of Henning Koch
Henning Koch
Last edit
Henning Koch
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2018-07-14 05:32)