PmWiki / PageLayout

The CustomHeadersAndFooters page gives a brief introduction to modifying the display of pages in PmWiki. 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 PmWiki 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 CustomHeadersAndFooters), the other 'Fmt' variables can contain references to files on disk, user-defined functions, and wiki pages. In fact, PmWiki 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 PmWiki 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.


Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /export/vol2/unix/t/templar/www.tempsoft.se/index.php on line 668

Warning: Invalid argument supplied for foreach() in /export/vol2/unix/t/templar/www.tempsoft.se/index.php on line 678
<< Variables | PmWiki.DocumentationIndex | AvailableActions >>


Webmaster - Edit Page - Page Revisions - WikiHelp - SearchWiki - RecentChanges
Page last modified on July 27, 2003, at 06:26 PM