About This Site
Sample custom formats for (:pagelist:)
- OneLine
- SideBar
- SideBarTitles
- Forum
- Teasers
- HeaderInclude
- ArticleTeaser
- IncludeTitle
- IncludeToc
- GroupsWithListLinks
- ByGroupTitle
- IncludeXref
- Excerpts
- Categorized
- ColorByDate
- SideBarExpandThisGroup
- EditList
- ByGroupTitle
fmt=#oneline
compact pagelist in one line.
[[#oneline]](:if ! equal {<$Group} {=$Group}:) '''[[{=$Group}]] /''' \ (:if true:) | [[{=$FullName}|+]] \ [[#onelineend]]
(:pagelist fmt=PagelistTemplateSamples#oneline group=Main count=4:) |
Main / | About This Site | GroupAttributes | HelloWorld | HomePage |
fmt=#sidebar
pagelist of titles for sidebar
[[#sidebar]](:if equal {<$Group}:) >>fplsidebar<< (:if ! equal {<$Group} {=$Group}:) %sidehead%[[{=$Group}]](:if:) * [[{=$FullName}|+]] (:if equal {>$Group}:) >><<(:if:) [[#sidebarend]]
(:pagelist fmt=PagelistTemplateSamples#sidebar order=title group=Main count=4:) |
fmt=#sidebartitles
pagelist of spaced page titles for sidebar, without group heading
[[#sidebartitles]](:if equal {<$Group}:) >>fplsidebar<<(:if:) * [[{=$FullName}|{=$Titlespaced}]] (:if equal {>$Group}:) >><<(:if:) [[#sidebartitlesend]]
(:pagelist fmt=PagelistTemplateSamples#sidebartitles group=Main count=4:) |
fmt=#forum
forum topics in table format
[[#forum]] (:if equal {<$Group}:) (:table class=forum width="90%" :) (:cell style="background:#e5e5ff;padding-left:5px" :)'''Topic''' (:cell style="background:#e5e5ff;padding-left:5px" :)%thd%'''Last Posted''' (:cell style="background:#e5e5ff;padding-left:5px" :)%thd%'''By''' (:if:) (:cellnr style="background:#eeeeff;padding-left:5px" :)[[{=$FullName}|+]] (:cell style="background:#eeeeff;padding-left:5px" :){=$LastModified} (:cell style="background:#eeeeff;padding-left:5px" :)[[~{=$LastModifiedBy}]] (:if equal {>$Group}:) (:tableend:)(:if:) [[#forumend]]
(:pagelist fmt=PagelistTemplateSamples#forum order=-time group=Main count=4:) |
- Using the pagelist option trail=<Group>.RecentChanges:
- Setting up a group for RecentChanges:
fmt=#teasers
Include the first five lines of every page preceded by an edit link for that page
[[#teasers]] || '''[[{=$FullName}]]''' - [[Edit -> {=$FullName}?action=edit]]|| (:include {=$FullName} lines=4:) (:if ! equal {>$Group}:) ----- (:if:) [[#teasersend]]
(:pagelist fmt=PagelistTemplateSamples#teasers group=Main count=4:) | ||||
PmWiki is a WikiWikiWeb system developed by Patrick Michaud as a tool to support easy collaborative authoring and maintenance of web sites. PmWiki is freely available under the GNU General Public License (GPL). See the documentation index for more information.
Hello WorldTitlesub headinganother title?
Welcome to PmWiki! A local copy of PmWiki's |
fmt=#headerinclude
Include the first paragraph. This allows a more flexible way to get teasers.
[[#headerinclude]] %rfloat%[-more-] [[{=$FullName}|{=$Titlespaced}]] (:include {=$FullName} para=1:) (:if equal {>$Group}:) (:title {$Title}:)(:if:) ---- [[#headerincludeend]]
(:pagelist fmt=PagelistTemplateSamples#headerinclude group=Main list=normal count=5:) |
more About This Site PmWiki is a WikiWikiWeb system developed by Patrick Michaud as a tool to support easy collaborative authoring and maintenance of web sites. PmWiki is freely available under the GNU General Public License (GPL). See the documentation index for more information. more Hello World Hello WorldTitlesub headinganother title?more Home Page Welcome to PmWiki! more My New Page This is my page 2more Newpage Hello this is a new page by lus. |
fmt=#articleteaser
A modification of the 'teasers' template showing how css elements can be used.
[[#articleteasers]] [+{=$Title}+] %define=leftborder border-left="2px solid #88f" margin-left="2px" padding="0 0 0 10px"% >>leftborder<<(:include {=$FullName} lines=5:) %right% [-[[{=$FullName}|Read More]]-] (:if ! equal {>$Group}:) >><< (:if:) [[#articleteasersend]]
(:pagelist fmt=PagelistTemplateSamples#articleteasers group=Main count=3:) |
About This Site PmWiki is a WikiWikiWeb system developed by Patrick Michaud as a tool to support easy collaborative authoring and maintenance of web sites. PmWiki is freely available under the GNU General Public License (GPL). See the documentation index for more information. This site is running pmwiki-2.3.38. GroupAttributes HelloWorld |
fmt=#includeTitle
Include whole pages, with titles as links to the pages, separated by a horizontal rule underneath each page's content. An edit link is shown if the user is authorized as editor. The title header for each page also contains an anchor which is the same as the full page name, used for #includeToc below.
[[#includeTitle]] (:if auth edit:) %rfloat%[[{=$FullName}?action=edit|[-edit-]]](:if:) !![[#{=$FullName}]][[{=$FullName}|{=$Title}]] (:include {=$FullName}:) ---- (:if equal {>$Group}:) (:title {$Title}:)(:if:) [[#includeTitleend]]
For example, to include the Foo pages in a group:
(:pagelist group={$Group} name=Foo* order=title fmt=PagelistTemplateSamples#includeTitle:)
fmt=#includeToc
Build a table of contents for the included pages included by #includeTitle above.
[[#includeToc]] * [[#{=$FullName}|{=$Title}]] [[#includeTocend]]
So, to include all the Foo pages in a group, starting with a table of contents:
(:pagelist group={$Group} name=Foo* order=title fmt=PagelistTemplateSamples#includeToc:) ---- (:pagelist group={$Group} name=Foo* order=title fmt=PagelistTemplateSamples#includeTitle:)
fmt=#groupsWithListLinks
A bullet list of groups, with a link for listing the pages in that group.
[[#groupsWithListLinks]] (:if ! equal {=$Group} {<$Group}:) * [[{=$Group}]] \ ([[list pages -> {$Name}?action=search&q=group%3D{=$Group}]]) (:ifend:) [[#groupsWithListLinksend]]
(:pagelist group=P* fmt={$Name}#groupsWithListLinks count=4:) |
fmt=#bygrouptitle
A list with group-names and titles (especially for a customized searchlist)
[[#bygrouptitle]] (:if ! equal {=$Group} {<$Group}:) :[[{=$Group}/]] /: (:if:) : :[[{=$Group}/[[{=$Name} | + ]] [[#bygrouptitleend]]
(:pagelist name=E* fmt=PagelistTemplateSamples#bygrouptitle count=8:) |
fmt=#includeXref
This is a generalization of the #includefaq format. Include a section from a page which has an anchor with the same name as the current page your pagelist is on.
[[#includeXref]] (:include {=$FullName}#{$Name}:) [[#includeXrefend]]
So, for example, if I have an anchor here:
[[#PagelistTemplateSamples]] ''Lorum ipsium...'' I do not speak Latin, dear. [[#PagelistTemplateSamplesend]] |
Then I could include only that section by doing this:
(:pagelist Group={$Group} Name={$Name} fmt=PagelistTemplateSamples#includeXref [[#{$Name}]]:) |
Lorum ipsium... I do not speak Latin, dear. |
fmt=#excerpts
To include an extract of the page text around the search term, as Google does. This makes use of Cookbook:Excerpts and Cookbook:HttpVariables without using Cookbook:SortByScore. You can make this format default for searches (and not pagelists, where it does nothing) by setting (:searchbox fmt=#excerpts:)
on Site.Search.
An older version of this template relied on Cookbook:SearchQueryVariable, which is now considered insecure.
[[#excerpts]] (:if ! equal {=$Group} {<$Group}:) :'''[[{=$Group}/]]''' /: (:if:) : :[[{=$Group}/{=$Name}]] {=$:Title} {=$:Summary} {=$Description} -->%bgcolor=#DBDBDB border="1px dotted grey"%[-(:excerpts {=$Group}.{=$Name} {$?q}:)-]%% [[#excerptsend]] |
fmt=#categorized
In order to list all pages belonging to a particular category
(:if false:) [[#categorized]] (:template defaults order=title:) (:template first:) !!! {{$$link}$Titlespaced} (:template each:) * [[{=$FullName}|{=$Titlespaced}]] [-({=$LastModified} - {=$LastModifiedSummary})-] [[#categorizedend]] (:ifend:) (:pagelist group=PmWiki fmt=#categorized list=normal count=6 link=Category.WikiFarms:) (:pagelist group=Cookbook fmt=#categorized list=normal name=-Cookbook.{*$Name} link=Category.PageList:) |
Wiki Farms
Page List
|
fmt=#colorbydate
A simple bullet list of page names. Colored red if within last 7 days, blue if within last 30 days, green if older.
[[#colorbydate]] * (:if date {$TodayMinus7}..{$TodayYMD} {=$LastModifiedYMD}:)%red%(:elseif date {$TodayMinus30}..{$TodayYMD} {=$LastModifiedYMD}:)%blue%(:else:)%green%(:ifend:) [[{=$FullName}]] modified: {=$LastModifiedYMD}%% [[#colorbydateend]]
colorbydate requires the following lines in config.php:
$FmtPV['$TodayMinus7'] = '"' . strftime("%Y-%m-%d", $Now-(7*24*60*60)) . '"'; $FmtPV['$TodayMinus30'] = '"' . strftime("%Y-%m-%d", $Now-(30*24*60*60)) . '"'; $FmtPV['$TodayYMD'] = '"' . strftime("%Y-%m-%d", $Now) . '"'; $FmtPV['$LastModifiedYMD'] = 'strftime("%Y-%m-%d", $page["time"])';
The output would look something like this (assuming it was run on 2008-07-13):
- Test.PageB modified: 2008-05-04
- Test.PageC modified: 2008-05-04
- Test.PageConfig modified: 2008-05-10
- Test.PageListAAA modified: 2008-07-13
- Test.PagePass modified: 2008-04-30
- Test.Pagestore2 modified: 2008-06-14
fmt=#sidebarexpandthisgroup
An attempt to display all groups with the current group expand to show all pages. The current group and page should be highlighted. Improvements to this template would be much appreciated. Rik Blok? November 07, 2009, at 01:52 PM
(:if1 false:) [[#sidebarexpandthisgroup]] (:template first {=$Group}:) (:if2 group {=$Group} :) * %sidehead% [[{=$Group}/]] (:else2:) * [[{=$Group}/]] (:if2end:) (:template each:) (:if2 equal {*$Group} {=$Group}:) (:if3 name {=$FullName} :) ** (:comment Empty item so sidehead isn't applied to full list if this is first item :) ** %sidehead% [[{=$FullName}|{=$Titlespaced}]] (:else3:) ** [[{=$FullName}|{=$Titlespaced}]] (:if3end:) (:if2end:) [[#sidebarexpandthisgroup]] (:if1end:)
(:pagelist fmt=PagelistTemplateSamples#sidebarexpandthisgroup count=4:) |
Notes
- NOTE regarding
(:pagelist fmt=#group count=4:)
- The fmt=group or fmt=#group looks at all of the pages in all groups, the count is not counting the groups but the pages looked at. But only the groups get displayed, not the list of pages, even the procedure looks at all groups. This is the reason it takes a lot longer on this site. -- So don't use count= with fmt=groups, and don't use it as an example, since there are so many pages on the site here.
- This recipe requires at least PmWiki version: 2.1.beta15
fmt=#editlist
Ever get tired of a list of pages you KNOW you're just going to have to click and reload to edit anyway? Good for admin pages, behind the scenes, etc. XES September 06, 2017, at 09:56 AM
[[#editlist]] (:template defaults order=title:) * %newwin%[[{=$FullName}|{=$Titlespaced}]] | [[{=$FullName}?action=edit|edit]] - %gray%{(ftime "%m/%d/%Y" {=$CTime})}%% [[#editlistend]]
(:pagelist group=PmWiki name=-Draft fmt=PagelistTemplateSamples#editlist count=4:) |
|
(:if auth edit:)
trick this can be used on any normal #Titlespaced
bullet list on your site and you can even use this idea to replace the standard lists on your site if desired — but only recommended on sites where you log in to edit.[[#editlist2]] (:template defaults order=title:) * %newwin%[[{=$FullName}|{=$Titlespaced}]](:if auth edit:) | [[{=$FullName}?action=edit|edit]] - %gray%{(ftime "%m/%d/%Y" {=$CTime})}%%(:if:) [[#editlistend2]]
fmt=#bygrouptitle
No need to have ugly group->pages lists. That's what titles are for. For wikis that actually use the Title attribute, have blogs, etc. XES September 06, 2017, at 09:56 AM
[[#bygrouptitle]] (:template first {=$Group}:) !!![[{=$Group}/|+]] (:template each:) *[[{=$Group}/{=$Name}|+]] [[#bygrouptitleend]]
(:pagelist link=Category.Category group=-Cookbook fmt=#bygrouptitle count=6 list=normal:) |
See Also
- PmWiki.PageLists - Searching and listing pages by multiple criteria with templated output
- Site.PageList Templates- Templates for PmWiki's Page lists directive
- Dynamic Trails - includes pagelist formats for trails
- Dynamic Wiki Trails - Define dynamic URL trails
- Pagelist Auth List Short Display, in brief format, the permissions settings for pages that have permissions set.
- PagelistAuthListShort-Users User notes for the Pagelist Auth List Short recipe.
- PagelistByCategory List pages by Category
- PagelistByCategory-Users User notes for the PagelistByCategory recipe.
- PagelistCalendar Use PageTextVariables and ftime markup expression to create a calendar where each event has its own page.
- PagelistCount Get pagelist to return a count of pages (deprecated)
- PageListExtensions Many Pagelist Enhancements
- PageListMultiTargets Enable multiple pages and wildcards in PageList
- PageListMultiTargets-Users User notes for the PageListMultiTargets recipe.
- PagelistNotes Notes on page lists
- PageListPlus Extend pagelist with various capabilities
- PageListPlus-Users User notes for the PageListPlus recipe.
- Pagelist Random Image Select an image randomly from all pages with images and display
- PagelistRandomImage-Users User notes for the Pagelist Random Image recipe.
- Pagelist Recent Changes A recent changes page created using Page lists
- PagelistRecentChanges-Users User notes for the Pagelist Recent Changes recipe.
- Pagelist Site Map Create a sitemap using the page list directive
- PagelistSiteMap-Users User notes for the Pagelist Site Map recipe.
- PageListWikiTrail Enable a WikiTrails markup to use a (:pagelist ... :) directive
Contributors
Comments
See discussion at PagelistTemplateSamples-Talk?