[pmwiki-users] Understanding PmWiki

Mike mike at widowitz.com
Wed Sep 27 15:55:27 CDT 2006

Thanks for the detailed explanation. I put it into my reference folder,
and it got me a good intro into wikistyles and related concepts. Being
quite familiar with CSS, it's great to finally understand the
connections between these two...

Only discovering everything at the moment, I can't tell (yet) where to
document all this information... maybe a page made for people like me,
i.e. familiar with HTML/CSS but not yet with PmWiki markup?


Patrick R. Michaud wrote on 27.09.2006 19:19:
> On Wed, Sep 27, 2006 at 05:56:15PM +0200, Mike wrote:
>>    Hi all,
>>    sorry for the bunch of questions in recent days. I'm trying to more fully
>>    understand the syntax of advanced PmWiki markup.
>>    However, I don't find what I need in the documentation. E.g., I'm trying
>>    to *understand* (not just slightly modify) the markup of Site.PageActions:
>>    * %item              class=browse    accesskey='$[ak_view]'%[[{*$FullName}
>>    | $[View] ]]
>>    * %item rel=nofollow class=edit     
>>    accesskey='$[ak_edit]'%[[{*$FullName}?action=edit | $[Edit] ]]
>>    * %item rel=nofollow class=diff     
>>    accesskey='$[ak_history]'%[[{*$FullName}?action=diff | $[History] ]]
>>    (:if auth upload:)
>>    * %item rel=nofollow class=upload   
>>    accesskey='$[ak_attach]'%[[{*$FullName}?action=upload | $[Attach] ]]
>>    (:if:)
>>    * %item rel=nofollow class=print    
>>    accesskey='$[ak_print]'%[[{*$FullName}?action=print | $[Print] ]]
>>    Some of my questions:
>>    * What does "%item" stand for?
> It's really %item ...% (a WikiStyle), and it says to apply the given
> style to the entire list item as opposed to just the text that follows.
> In particular, it causes PmWiki to generate HTML of
>     <li class='edit'>...</li>
> instead of
>     <li><span class='edit'>...</span></li>
>>    * What is this "class=" for?
> It allows CSS properties to be applied to the item that corresponds
> to the current action.  For example, to have the current action display
> with a background color of blue, a wiki administrator can do:
>     $HTMLStylesFmt[] = ' .{$Action} { background-color: blue; }';
> Then if the current action is 'edit' (as in "?action=edit"), the list
> item corresponding to the edit action will be drawn with a blue background.
>>    * Where are accesskeys defined?
> They can come from a number of locations, but essentially they are phrase
> translations following the model used for internationalizations.  PmWiki's
> accesskey defaults are defined in scripts/prefs.php, but can be overridden
> in lots of different places, including skins, language translation
> pages (XLPage), and even per-browser preferences (see PmWiki.SitePreferences).
> More documentation on access keys is available from
> http://www.pmwiki.org/wiki/PmWiki/AccessKeys .
>>    * Why are the brackets around the "clean text" like around "[Attach]"?
>>    * Why is the $ sign before that like in $[Attach]?
> The $[...] markup defines phrase translations, used for internationalizations
> (and access keys, as noted above).  Essentially "$[Attach]" tells PmWiki
> to substitute the current translation of "Attach".  If no translation is
> defined for "Attach", then PmWiki just uses the phrase inside the brackets.
> You can most easily see this working in the other languages sections of
> PmWiki.  For example, at http://www.pmwiki.org/wiki/PmWikiDe/PmWikiDe you'll
> notice that the default "View", "Edit", "History", and "Print" actions
> are displayed as "Artikel", "Bearbeiten", "Historie", and "Druckansicht".
> This is because the PmWikiDe group is loading in a set of translations
> from PmWikiDe.XLPage (http://www.pmwiki.org/wiki/PmWikiDe/XLPage).
> That page defines things like
>   'View' => 'Artikel',
>   'Edit' => 'Bearbeiten',
>   'History' => 'Historie',
>   'Print' => 'Druckansicht',
> which says that things like "$[View]" and "$[Edit]" should be replaced by 
> "Artikel" and "Bearbeiten".
> This makes it very easy for us to support multiple languages, since
> a recipe author can simply put any translatable prompts or
> phrases inside of $[...], and leave it to others to actually build
> the translation tables (either locally or on pmwiki.org for others
> to use).
> More information about $[...] is available at 
> http://www.pmwiki.org/wiki/PmWiki/Internationalizations .
> Hope this helps -- please feel free to ask more questions!
> If you have any suggestions about where this information could be
> better placed in the documentation, we'll be glad to have them too.
> Pm

More information about the pmwiki-users mailing list