From AnticipationSF

Site: Local Templates

This page contains local “templates” for PmWiki’s (:pagelist:) directive. The Site.PageListTemplates page contains the standard system templates.

Brief Syntax Explanation:

See also: PageLists, Page Variables, Page Text Variables?, Conditional Markup, and Cookbook:PagelistTemplateSamples.

Use with page variables: = current item < previous item > next item

Conditionals used to structure pagelist output: (:if equal {<$Group}:) At beginning of list (:if equal {>$Group}:) At end of list (:if ! equal {=$Group} {<$Group}:) First item in group (:if ! equal {=$Group} {>$Group}:) Last item in group


A simple bullet list of page titles.

(:template defaults order=title:)
* [[{=$FullName}|{=$Title}]]


Horizontal list of group names, but with each link pointing to the full page.



Horizontal list of supported languages, as found in Site.Languages

(:template default trail=Site.Languages:)


Horizontal list of alternate language pages for the current page. Fairly complex processing:

  1. First of all, if the current Group doesn’t define a $:LangGroup in its GroupHeader page, then it returns nothing.
  2. Otherwise, it pulls every entry from that trail that doesn’t reference the current groups language.
  3. Finally, for each entry, it uses a pagelist that searches for the alternate appropriate alternate language page, and either displays it or puts up a “MISSING” message.
(:template default trail=Site.Languages if="( ! equal {*$LangGroup} && ! equal {*$LangCode} {=$Name} )":)
(:pagelist fmt=#altlangpage $:LangCode={=$Name} wrap={$$wrap}:)


Find and display a pointer to the alternate language page for a given page, or ‘MISSING’;

(:template default name=GroupHeader if="( equal {=$:LangGroup} {*$LangGroup} )" :)
(:if ! equal {*$:{=$:LangCode}}:)
(:elseif exists {=$Group}.{*$Name} :)


List of words, prefixed by supported languages, as found in Site.Languages

(:template default trail=Site.Languages:)


Determine which group to display news for, and then do it.

(:template default name=GroupHeader $:LangGroup=News if="( equal {=$:LangCode} {*$LangCode} )" :)
(:template each:)
(:pagelist fmt=#newsgroup group={=$Group} count={$$count}:)


Display the news for the given group.

(:template defaults order=-$:Date list=content:)
(:template each:)
(:include Site.LocalTemplates#newsitem#end permalink=1 basepage={=$FullName}:)
(:if ! equal "{>$FullName}" ".":)


Display an individual news item

(:if ! equal "{$:Date}":)
!!!![-{(ftime "%b %e, %Y" {$:Date} lc="{$:LC}")}-]
(:if [ ! equal "{$:Date}" "" && ! equal "{$:Link}" "" ]:)
(:if [ ! equal "{$:Date}" "" && equal "{$:Link}" "" ]:)
(:if ! equal "{$:Date}":)
(:if [ ! equal "{$:Date}" "" && equal "{$$permalink}" "1" ] :)
||border=0 width=100%
|| [--[[{$FullName}|$[permalink]]]--]||
Retrieved from
Page last modified on January 17, 2008, at 05:55 PM