Patrick R. Michaud
pmichaud at pobox.com
Thu Sep 21 09:30:55 CDT 2006
On Wed, Sep 20, 2006 at 08:09:34PM -0500, JB wrote:
> $PageCSSListFmt is an array of a set of "key" => "value" pairs.
> The key is a possible path to a file on disk holding the css data.
> The value is the coresponding URL for that file.
> For each named file that exists, the browser is instructed to load the
> corresponding URL.
> Why specify a hard disk file location and the url instead of just
> the css file url like in HTML?
> <link rel="stylesheet" href="mystyle.css">
> It only need one. Why make this complicated?
Here's the use case that $PageCSSListFmt is intended to solve:
A wiki administrator downloads and installs PmWiki, and also
downloads and installs a skin from the Cookbook. However, the
administrator also needs some custom CSS to be loaded for
the entire site, and also needs some additional CSS to be
loaded only for pages in the XYZ group.
Of course, the wiki administrator doesn't want to modify
the PmWiki or skin distribution files, because that will
make things difficult for upgrading later.
To create the site-wide CSS, the administrator simply
creates a file called pub/css/local.css . PmWiki automatically
detects that file and causes a stylesheet link for local.css
to be included in the HTML <head> section of the document.
For the per-group CSS, the administrator creates pub/css/XYZ.css .
When a visitor views a page in the XYZ group, PmWiki automatically
includes the stylesheet link to the XYZ.css in the <head> section.
In summary, what we want to do is make it easy for a wiki adminstrator to
- add custom CSS to the output
- do this on a site-wide, per-group, or per-page basis,
- without having to modify any distributed skin or PmWiki files
If you have a less complicated way to achive this, I'll be glad to hear it.
More information about the pmwiki-users