Snap! Websites
An Open Source CMS System in C++
The layout plugin takes the data from a page and transform it to HTML for display in browsers.
The layout is in charge of generting the body from the page content, then generating the theme from the body and other parts of the page/website (i.e. the name of the author is specific to a page, although the author is not, similarly, the name of a website is defined site wide.)
The layout is also in charge of generating the <head> tag of the HTML page. This tag includes many entries such as the <title>, <meta> and <link> tags, and also we include JavaScript and CSS links here. There are a few others too. The header plugin will also help in adding some content that the user defines on a per page or globally. The header adds to the data which the layout turns into valid HTML.
Snap! Websites
An Open Source CMS System in C++