![]() |
Edit Page Search Site Recent Changes: All | Pm Wiki |
The Custom Headers And Footers page gives a brief introduction to modifying the display of pages in Pm Wiki. This page describes the entire layout sequence in greater detail.
First it's helpful to review the basic structure of an HTML document. A script creating an HTML document must basically produce the following parts: HTTP Headers Content-type:, etc.
document type <!DOCTYPE ...>
header <html><head>
document title <title>...</title>
stylesheets <style>...</style>
other header tags <meta ...>
body </head><body ...>
HTML markup <table>, text, <a>, etc.
end of document </body></html>
In general, each component of the document that Pm Wiki produces can be
controlled by one or more configuration variables. For example, the variables controlling the display of a wiki page are given by
HTTP Headers Content-type:, etc. $HTTPHeaders
document type <!DOCTYPE ...> $HTMLDoctypeFmt
header <html><head> "
document title <title>...</title> $HTMLTitleFmt
stylesheets <style>...</style> $HTMLHeaderFmt
other header tags <meta ...> <link ...> "
body </head><body ...> $HTMLBodyFmt
header <table>, text, <a>, etc. $PageHeaderFmt
wiki text " PrintText() function
footer " $PageFooterFmt
end of document </body></html> $HTMLEndFmt
As with $PageHeaderFmt and $PageFooterFmt (described in Custom Headers And Footers), the other 'Fmt' variables can contain references to files on disk, user-defined functions, and wiki pages. In fact, Pm Wiki defines the $HTMLStartFmt variable to aggregate the output up to the HTML <body> tag:
$HTMLStartFmt = array('headers:', &$HTMLDoctypeFmt, &$HTMLTitleFmt,
&$HTMLHeaderFmt, $HTMLBodyFmt);
Finally, most of the major Pm Wiki operations (browse, edit, search, etc.) have variables that define the entire page contents. For example, the layout of a page being displayed via the default browse action is specified by
$HandleBrowseFmt = array(&$HTMLStartFmt, &$PageHeaderFmt, &$PageTitleFmt,
"function:PrintText", &$PageFooterFmt, &$HTMLEndFmt);
which outputs all of the HTML header components, $PageHeaderFmt, the text of the wiki page itself, $PageFooterFmt, and the end of the html document.
<< Variables | PmWiki.Documentation Index | Available Actions >> | ||||||||||||||||||||||
| ||||||||||||||||||||||