ConvergeUI uses HAML to define a set of layouts that, when combined with their styling counterparts, provide components common to web applications. The layouts are designed to provide a particular look and feel when combined with the appropriate styling; however, since the layouts and styling are seperate, a need look can be applied while maintaing the overall structure. The layouts are designed to be have configurable content via the use of content_for blocks. Example:
Layout
%body{:id => section_id}
= yield :body
= yield :javascripts_block
= yield :extra
Implemetation
= content_for(:body) do
#wrapper
= render :partial => "layouts/converge-ui/header_layout"
%article#maincontent
%section.maincontent
= yield :content
%footer
= yield :footer
The header layout provides a thick header with area for a left aligned-logo, content tabs along the header baseline, and widgets in the upper right hand corner. All header content is centered horizontally with the page.
The footer layout provides a small ribbon that is “sticky” to the bottom of the page as content grows vertically. Place is provided for copyright, footer links, logo and versioning information.