From its inception,
PmWiki has been designed so that
WikiAdministrators can greatly customize the way PmWiki displays pages and the markup sequences used to generate pages. (This is even mentioned explicitly in PmWikiPhilosophy #4.) As a result, the core
pmwiki.php script makes extensive use of
PmWiki.Variables to determine how markup sequences will be processed and what each individual page will output. Thus, a WikiAdministrator can make a lot of customizations simply by setting variables in the
config.php (formerly called the
local.php) file.
The bulk of this page describes how customizations work in general, see
PmWiki.DocumentationIndex for specific customizations that are commonly performed at many PmWiki installations, including:
The
scripts/
subdirectory (below the directory holding the
pmwiki.php script) and the
PmWiki Cookbook [
http://www.pmwiki.org/wiki/Cookbook/HomePage] contain many example customizations that you can include in your
config.php site configuration. The first few lines of each of these scripts generally contains instructions about how to enable (and use) the feature provided by the script--for most scripts, simply adding a line like
include_once("scripts/scriptfile.php");
in the
config.php file will enable it. Some of the scripts are automatically enabled for you via the
scripts/stdconfig.php script unless you disable them by setting
$EnableStdConfig=0
in
config.php.
Note that you should strongly resist the temptation to directly modify the
pmwiki.php script or the scripts in the
scripts/ subdirectory. Any modifications you make to these files will probably be overwritten whenever you perform a
PmWiki.Upgrade. Instead, look at some of the sample scripts for examples of customizations that can be performed from
config.php. You can even create your own script to do a customization and use
include_once(...)
to include it from
config.php. If you do make your own customization script, you can safely put it in the
local/
subdirectory--it won't get overwritten by an upgrade there. You might also want to submit your customization to the
pmwiki-users mailing list [
http://www.pmichaud.com/lists/pmwiki-users] or the
PmWiki.Cookbook [
http://www.pmichaud.com/wiki/Cookbook/] so that others can benefit from your effort and so that it can perhaps be included in future releases of PmWiki.
<< InitialSetupTasks | PmWiki.DocumentationIndex | LayoutBasics >>