Html Page type
The HtmlPage asset type is the linchpin of generating HTML, as it does all of the real work. An HtmlPage can have as its parent either an HtmlLayout or an HtmlTemplate?. HtmlTemplate?'s parent is either another HtmlTemplate? or an HtmlLayout. No matter how this is all arranged, though, at the "top" is an HtmlPage, while at the "bottom" is an HtmlLayout. There are zero or more HtmlTemplate? instances between.
The HtmlPage type should typically be the only type for an asset (or bad things may happen), though complementary types which don't deal with the Get and Post phases (i.e. TurtolCMS.Types.DefaultPage?) may be aggregated with HtmlPage.
Parameters
title
The title parameter (if specified) holds the page title to use. The Python '%s' format specifier may be embedded in the text ONCE or not at all, and will be replaced with the title as calculated further downstream (toward the HtmlLayout instance).
Setup
During the setup phase, the HtmlPage re-organizes all its widgets into a tree structure which roughly mimics the eventual HTML DOM (but far simpler). The html <head> and <body> sections are represented at the top level. The <head> representation will contain widgets needing to go into that portion of the HTML. The <body> representation will most likely only contain other div sections, but may contain widgets as well. Each sub-level (outer, inner, etc) is similar. This gives us a (relatively) compact representation of the page which we can pickle and store in the database for faster rendering in future.
Load Runtime
not done yet
GET Operation
not done yet
POST Operation
not done yet