LogoLogo
Cql
  • AZU
  • Prologue
  • Getting Started
    • Installation
    • Create new app
    • Understnding your project
    • Configuration
  • Endpoints
    • Params
    • Response
    • Contracts
  • Templating
    • Markup
    • Crinja Templates
    • Live Rendering
  • Session Management
  • Validations
  • Internationalization (I18n)
  • Mailers
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Templating

Markup

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>

p do
  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"
  end
end
#=> <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' />
PreviousTemplatingNextCrinja Templates

Last updated 2 years ago

Was this helpful?