Guest | Login | New User

  • Psychology 2.0

Page List Templates

This page contains "templates" for PmWiki's (:pagelist:) directive. The Site.LocalTemplates page can be created and used to store pagelist templates that are local to a site.

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

fmt=#default

The default template for pagelists when fmt= isn't specified.

[[#default]]
(:template first {=$Group}:)

:[[{=$Group}/]] /:
(:template each:)
: :[[{=$Group}/{=$Name}]]
[[#defaultend]]

fmt=#bygroup

Display pages by group/name.

[[#bygroup]]
(:template first {=$Group}:)

:[[{=$Group}/]] /:
(:template each:)
: :[[{=$Group}/{=$Name}]]
[[#bygroupend]]

fmt=#simple

A simple bullet list of page names.

[[#simple]]
* [[{=$FullName}]]
[[#simpleend]]

fmt=#title

A simple bullet list of page titles.

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

fmt=#titlespaced

Outputs wiki page titles with spaces between the words in the title.

[[#titlespaced]]
(:template defaults order=title:)
* [[{=$FullName}|{=$Titlespaced}]]
[[#titlespacedend]]

fmt=#group

A bullet list of groups.

[[#group]]
(:template first {=$Group}:)
* [[{=$Group}/]]
[[#groupend]]

fmt=#include

Concatenate the text of pages in the list. (Note, this can be an expensive operation!)

[[#include]]
(:include {=$FullName} self=0:)
[[#includeend]]

fmt=#includefaq

Include just the #faq sections from pages in the list. (This can also be expensive, especially if the list includes pages that don't have the [[#faq]] anchor!)

[[#includefaq]]
!![[{=$FullName}|+]]
>>faq<<
(:include {=$FullName}#faq#faqend self=0:)
>><<
[[#includefaqend]]

fmt=#description

List pages and append the page's description if it exists.

[[#description]]
*[[{=$FullName}|+]]
(:if ! equal {=$Description} '':)
->'-''description:'' {=$Description}-'
(:if:)
[[#descriptionend]]

fmt=#simplename

Simple bullet list of page names, without the Group name.

[[#simplename]]
* [[({=$Group}/){=$Name}]]
[[#simplenameend]]

fmt=#simplenamespaced

Simple bullet list of spaced page names, without the Group name.

[[#simplenamespaced]]
* [[({=$Group}/){=$Namespaced}]]
[[#simplenamespacedend]]