slime v0.15.0 Slime.Parser.AttributesKeyword

Utilities for handling element attributes.

Summary

Functions

Merges multiply attributes values for keys specified in merge_rules. Attribute value may be given by string, list, or {:eex, args} node merge_rules should me an %{attribute_name: joining_character} map

Functions

merge(keyword_list, merge_rules)

Merges multiply attributes values for keys specified in merge_rules. Attribute value may be given by string, list, or {:eex, args} node merge_rules should me an %{attribute_name: joining_character} map

Examples

iex> Slime.Parser.AttributesKeyword.merge(
...>   [class: "a", class: ["b", "c"], class: "d"],
...>   %{class: " "}
...> )
[class: "a b c d"]

iex> Slime.Parser.AttributesKeyword.merge(
...>   [class: "a", class: ["b", "c"], class: {:eex, content: "d"}],
...>   %{class: " "}
...> )
[class: {:eex, content: ~S("a b c #{d}"), inline: true}]