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