Azu::Markup is a Crystal DSL for HTML that enables writing HTML in plain Crystal, ensuring type-safe HTML with valid syntax, and automatically escapes attribute values. It supports HTML 4 and 5, and XHTML.
Example Usage
p"A paragraph"# => <p>A paragraph</p>pdo text "A paragraph"end# => <p>A paragraph</p>h1 "A first-level heading", class: "heading"# => <h1 class='heading'>A first-level heading</h1>h1 class: "heading"do text "A first-level heading"end# => <h1 class='heading'>A first-level heading</h1>ul id: "a-wrapper", class: "list-wrap"do ["aa","bb","cc"].each do |x| li x, class: "list-item"endend#=> <ul id='a-wrapper' class='list-wrap'><li class='list-item'>aa</li><li class='list-item'>bb</li><li class='list-item'>cc</li></ul>input type: "checkbox", checked: nil# => HTML 4, 5: <input type='checkbox' checked># => XHTML: <input type='checkbox' checked='checked' />