SearchWiki:
Login  |  Language:  En | Ru

Fidolook

Extensions

PmWiki



Recent Changes Printable View Page History Edit Page
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.

Note: This page still reflects the structure of the layout used in PmWiki version 0.5, and needs to be updated for PmWiki version 0.6.

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.

<< FilesAndDirectories | PmWiki.DocumentationIndex | QAMarkup? >>

Edit Page - Page History - Printable View - Recent Changes - WikiHelp - SearchWiki Page last modified on February 17, 2004 01:31AM