« Pagelist Variables | PmWiki.Variables | Security Variables »
When dealing with file or path variables, one has to recognize the difference between working with URLs and files on disk. For example:
$ScriptUrl
and $PubDirUrl
variables are used to tell a browser, connecting via the webserver, how to execute the pmwiki script ($ScriptUrl
) and the base url for getting files from PmWiki’s pub/ directory ($PubDirUrl
).
Note that a browser needs a URL (http://www.example.com/pmwiki/pub) while an include statement requires a server file path ($FarmD
/scripts/something.php).
$FarmD
$FarmPubDirUrl
pub
directory for an entire farm. It defaults to the same value as $PubDirUrl
.
$PageCSSListFmt
array( ‘pub/css/local.css’ => ‘$PubDirUrl
/css/local.css’, ‘pub/css/PmWiki.css’ => ‘$PubDirUrl
/css/PmWiki.css’, ‘pub/css/PmWiki.PathVariables.css’ => ‘$PubDirUrl
/css/PmWiki.PathVariables.css’);
$FarmPubDirUrl
. If you wish to be able to place css configuration files in both the field’s pub
directory, and the farm’s pub
directory, you may want to add these lines to your local/config.php
file (as described in Cookbook:SharedPages):
$PageCSSListFmt
= array( ‘$FarmD
/pub/css/local.css’ => ‘$FarmPubDirUrl
/css/local.css’, ‘$FarmD
/pub/css/$Group.css’ => ‘$FarmPubDirUrl
/css/$Group.css’, ‘$FarmD
/pub/css/$FullName.css’ => ‘$FarmPubDirUrl
/css/$FullName.css’, ‘pub/css/local.css’ => ‘$PubDirUrl
/css/local.css’, ‘pub/css/$Group.css’ => ‘$PubDirUrl
/css/$Group.css’, ‘pub/css/$FullName.css’ => ‘$PubDirUrl
/css/$FullName.css’);
$PubDirUrl
pub
directory. That directory contains all the files and subdirectories that must be directly accessible from a browser (e.g. CSS and HTML files). Most prominent here is the skins
subdirectory.
$ScriptUrl
$ScriptUrl
on its own, but sometimes an admin needs to set it explicitly because of URL manipulations by the webserver (such as Cookbook:CleanUrls, mod_rewrite, bizarre PHP configurations, and so on).
$SkinDirUrl
$WorkDir
$WikiDir
; the reason that both $WorkDir
and $WikiDir
refer by default to the directory wiki.d/
is merely to simplify things for the administrator.
$WikiDir
is a PageStore-object that refers to how wiki pages are stored. This can be a simple reference to a directory (typically wiki.d/), or something more advanced such as a MySQL backend or a .dbm-file. Do not confuse this variable with $WorkDir
; the reason that both $WorkDir
and $WikiDir
refer by default to the directory wiki.d/
is merely to simplify things for the administrator.
$WikiLibDirs
is an array of PageStore objects that specify where to look for pages. By default it is set up to look in wiki.d/ and wikilib.d/, but can be changed to look other places. For example, to exclude the pages that are bundled in the PmWiki distribution, use the line below. (Note that some features such as editing and search rely on having certain pages available, so you may need to copy them to the $WikiDir
.)
$WikiLibDirs
= array(&$WikiDir
);
$LocalDir
$FarmD
/local/farmconfig.php, regardless of any setting for $LocalDir
.)