Modula-2 Reloaded

A Modern Typesafe & Literate Programming Notation

Site Menu

Project

Specification

Implementation

Recommendations

Reference

Needs Updating

Work in Progress

Wastebasket

Wiki Manual

edit SideBar

Custom Wiki Styles

administrators (intermediate)

This page describes the predefined Wiki Styles and how a Wiki Administrator can define additional Wiki Styles as a local customization for all pages (in local/config.php) or specific groups (in local/$Group.php).

All predefined Wiki Styles are setup in the global array $WikiStyle. To define your own Wiki Styles, add the setting of the correspondent WikiStyle within the array.

Predefined Wiki Styles

The following array-values are set by scripts/wikistyles.php using the SDV()-function (so you can overwrite them by setting them prior in config.php or farmconfig.php):

markup:definition:

text colors:
(equiv. to %define=xxxx color=xxxx%
%black%$WikiStyle['black']['color'] = 'black';
%white%$WikiStyle['white']['color'] = 'white';
%red%$WikiStyle['red']['color'] = 'red';
%yellow%$WikiStyle['yellow']['color'] = 'yellow';
%blue%$WikiStyle['blue']['color'] = 'blue';
%gray%$WikiStyle['gray']['color'] = 'gray';
%silver%$WikiStyle['silver']['color'] = 'silver';
%maroon%$WikiStyle['maroon']['color'] = 'maroon';
%green%$WikiStyle['green']['color'] = 'green';
%navy%$WikiStyle['navy']['color'] = 'navy';
%purple%$WikiStyle['purple']['color'] = 'purple';

list-styles:
%decimal%$WikiStyle['decimal']['apply'] = 'list';
$WikiStyle['decimal']['list-style'] = 'decimal';
%roman%$WikiStyle['roman']['apply'] = 'list';
$WikiStyle['roman']['list-style'] = 'lower-roman';
%ROMAN%$WikiStyle['ROMAN']['apply'] = 'list';
$WikiStyle['ROMAN']['list-style'] = 'upper-roman';
%alpha%$WikiStyle['alpha']['apply'] = 'list';
$WikiStyle['alpha']['list-style'] = 'lower-alpha';
%ALPHA%$WikiStyle['ALPHA']['apply'] = 'list';
$WikiStyle['ALPHA']['list-style'] = 'upper-alpha';

special:
open links in a new browser-window:
%newwin%$WikiStyle['newwin']['target'] = '_blank';
Turns markup into a comment via display:none CSS
%comment%$WikiStyle['comment']['display'] = 'none';

Author-Defined Wiki Styles

  1. The first index of the array defines the style name (e.g. mynewstyle, projectentry etc)
  2. the second index defines the attribute name (e.g. color, background-color, etc.)
  3. the value set defines the attribute value (e.g. red, bold, #00ffcc, etc.)

Sample: If you want to define a (site-wide) style the same as the page style

%define=projectentry color:red%

use

$WikiStyle['projectentry']['color'] = 'red';

The $WikiStyle['projectentry']['apply'] variable may be defined if the wikistyle concerns a particular tag. It may be 'item' (for li|dt), 'list' (for ul|ol|dl), 'div', 'pre', 'img', 'p' or the combining 'block' (for p|div|ul|ol|dl|li|dt|pre|h[1-6]). Example:

 $WikiStyle['top']['apply'] = 'item';
 $WikiStyle['top']['class'] = 'top';

then a markup

 * %top% An important list-item

will output

 <li class="top">An important list-item</li>

Printer-Friendly Styles

If your custom-styles (in local/config.php) are getting very colorful it might be useful to disable them in print-view. This can be done easily by putting them into a condition.

if($action!="print") {
  // your custom-styles
}

Notes

To be done:

Questions:

I tried this but background didn't work, thou border and float worked? /Vincent 2008-04-08

$WikiStyle['vMenu']['background']='#ffffcc' ;
$WikiStyle['vMenu']['float']='left' ;
$WikiStyle['vMenu']['border']='1px dotted red' ;
Try using $WikiStyle['vMenu']['background-color']='#ffffcc'; -- unlike background, background-color is defined in the $WikiStyleCSS array, which is checked for valid properties.


This page may have a more recent version on pmwiki.org: PmWiki:CustomWikiStyles, and a talk page: PmWiki:CustomWikiStyles-Talk.