[Pmwiki-users] organization of .css files in pub/

Richard Canning rcanning
Sun Feb 15 21:11:23 CST 2004


I think that this will make it a lot easier to see what is going on, especially for someone like me who has been getting very confused with the difference between skins css files and Group or Page based css files.

Richard Canning

P.S. Does anyone have an answer for my question about setting classes in wiki pages (my last email)?

-----Original Message-----
From: Patrick R. Michaud [mailto:pmichaud at pobox.com] 
Sent: Monday, February 16, 2004 2:43 PM
To: pmwiki-users at pmichaud.com
Subject: [Pmwiki-users] organization of .css files in pub/


John Rankin pointed out a problem with the pub/css/ directory in the current beta releases...

Background
----------
With the default layout, PmWiki tries to include the following CSS files:
    pub/css/stdlayout.css        - basic/core styles
    pub/css/$PageSkin.css        - styles for current skin
    pub/css/local.css            - site-local styles
    pub/css/$Group.css           - group-specific styles for pages in $Group
    pub/css/$Group.$Title_.css   - page-specific styles for $Group.$Title_

(Note that this sequence can be changed via the $PageCSSFmt variable, but for this discussion I'm talking about the default configuration.)

PmWiki comes with three stylesheets in its distribution, stdlayout.css (above), pmwiki.css for the 'pmwiki' default skin, and print.css for the printable view action.

All of this is great *except* if you happen to be on an OS (such as
Windows) that uses case-insensitive filenames.  When this happens, the $Group.css specification can accidentally conflict with the $PageSkin CSS's. This is particularly noticable for pages in the PmWiki group, where the pmwiki.css file is loaded even if a different skin is being used, but it would
also happen for a group called 'StdLayout' if one ever exists.

So, these need to be separated somehow.  Note that separating based on 
whether a file comes from the distribution (e.g., a pub/localcss/ directory) doesn't really solve the problem, as a locally-defined skin name could still conflict with a locally-defined group of the same name.

My best thought thus far is to create a separate 'skins' directory, or a separate directory for each skin.  Thus the sequence would then become:
   pub/css/stdlayout.css
   pub/skins/$PageSkin.css
   pub/css/local.css
   pub/css/$Group.css
   pub/css/$Group.$Title_.css

and PmWiki would be distributed with pub/css/stdlayout.css, pub/skins/pmwiki.css, and pub/skins/print.css.

By way of analogy, when/if others begin offerring other skins via the Cookbook, I'd suggest a convention that .php configuration files 
(if any) go in local/skins/$PageSkin.php and associated CSS files/gifs 
be placed in pub/skins/ with the name of the skin as a prefix.

Does this work?  Does anyone else have any other ideas?  Note that for long-term design purposes I'm unilaterally imposing the restriction that 
PmWiki's default configuration will expect all css files to be somewhere in the pub/ hierarchy (although a site admin can always change the default).

Pm

-- 
Pmwiki-users mailing list
Pmwiki-users at pmichaud.com http://pmichaud.com/mailman/listinfo/pmwiki-users_pmichaud.com



The information contained in this email message and any attachments
may be confidential and may also be the subject of legal professional
privilege.  If you are not the intended recipient of this email, any
disclosure or copying of this material is unauthorised and prohibited.
Please notify me by return email.




More information about the pmwiki-users mailing list