Traduction à compléter.
Comment utiliser la directive (:pagelist:)
?
PmWiki possède deux directives destinées à générer des listes de pages — (:pagelist:)
et (:searchresults:)
. La différence essentielle entre les deux est que ‘searchresults’: génère les textes “Les résultats de la recherche pour …” et “### pages trouvées parmi ### “ encadrant le résultat — à part ça, ce sont des directives similaires.
(:pagelist:)
sans arguments affiche une liste à puce de toutes les pages, avec les liens, ordonnées par ordre alphabétique et par groupes.
(:pagelist group=abc fmt=def list=ghi order=jkl argument1 argument2 etc:)
affiche une liste de page en fonction des paramètres fournis. Les paramètres sont optionnels.
Tout argument fourni avec (:pagelist:)
qui n’est pas de la forme ‘clé=valeur’
est traité comme du texte qui doit (ou ne doit pas) figurer dans le texte de la page. Ainsi
(:pagelist trail=PmWiki.IndexDocumentation list=normal pomme -caramel:)
liste toutes les pages “normales” du trail Index Documentation qui contiennent le mot “pomme” mais pas le mot “caramel”.
“group=”
limite les résultats aux pages appartenant à un groupe donné.
“name=”
limite les résultats à certaines pages avec un nom spécifique. Utiliser des caractères spéciaux de remplacement avec des noms partiels.
Les caractères de remplacement peuvent être utilisés avec les paramètres group et name.
Ce sont le caractère * représentant n’importe quelle séquence de caractères, le caractère ? représente un caractère unique. Le signe - ou le point d’exclamation ! sont utilisés pour indiquer une négation.
Exemples d’utilisation de caratères de remplacement :
(:pagelist group=PmWiki :)
(:pagelist group=-PmWiki :)
(:pagelist group=PmWiki* :)
(:pagelist group=PmWiki*,-PmWikiZh* :)
(:pagelist name=-HomePage :)
(:pagelist name=PmCal.2005* :)
Les jokers fonctionnent aussi avec les balises de condition, ce qui nous donne:
(:if name PmCal.2005* :) (:if group PmWiki* :) (:if name Profiles.*,-Profiles.Profiles :)
“trail=”
renvoie la liste des pages affichées dans un WikiTrail.
“list=”
pertmet à la recherche d’inclure/exclure des pages qui sont définies par l’administrateur dans des ensembles précisés dans le fichier config.php. PmWiki prédéfini “list=normal”
, qui exclut les choses telles que All Recent Changes?, Recent Changes, Group Header, Group Footer, Group Attributes?, etc., de l’affichage des résultats. Les administrateurs du Wiki peuvent définir leurs propres listes via le tableau $SearchPatterns
(voir en anglais) Cookbook.SearchResults?).
“fmt=”
détermine comment la liste résultante doit être affichée.
PmWiki prédéfinit “fmt=simple”, “fmt=bygroup”, “fmt=title”, et “fmt=group”. Sans paramètre fmt= la valeur par défaut est par groupe.
fmt=bygroup
est la valeur par défaut et produit une liste de pages triée par groupes.
fmt=simple
donne une liste de noms de pages de la forme Groupe.Nom.
fmt=title
donne une liste de titres de page. Par défaut order=title
ce qui trie les pages par titre.
fmt=group
donne une liste de groupes, sans noms de pages.
Depuis la version 2.1.beta15, PmWiki utilise les templates pour ses formats prédéfinis de pagelist, lesquels sont stocké dans Site.PageListTemplates, et peuvent être édité là. D’autres formats personnalisés peuvent être ajoutés, à cette page ou à n’importe quel autre, ou défini dans config.php ou un script cookbook. Il y a plusieurs façons d’indiquer quel template pagelist à utiliser:
fmt=#custom
utilise le format personnalisé de Site.PageListTemplates depuis la section #custom.
fmt=MyTemplatePage#custom
utilise le format personnalisé de la page My Template Page? depuis sa section #custom.
fmt=custom
utilise le format personnalisé qui est défini dans un script cookbook de custom.
Check out these custom PagelistTemplateSamples?.
fmt=dictindex
is added by Cookbook.DictIndex?. It gives an pagelist broken into alphabetical sections.
fmt=forum
is added by Cookbook.SimpleForum?. It gives a 3-column table with page title, modified date and author.
Cookbook recipes can add more output formatting options by creating new format template sections, or via the $FPLFunctions array as a custom function. Several that are planned are also “fmt=publish”
to displays the contents of each page in the list, “fmt=include”
to include portions of a page’s text, “fmt=category” to display pages in a form suitable for category listings, and “fmt=menu” to display the list as an expandable or dropdown menu.
“link=”
parameter provides a list of pages that have a link to SomeGroup.SomePage specified. Some examples for this (see also Backlinks?, FastBacklinks?):
(:pagelist link=PmWiki.DocumentationIndex:)
(:pagelist link={$FullName} :)
(:pagelist group=Main link=Main.HomePage:)
(:pagelist link=Category.Skins:)
(:pagelist link=Groupname:)
, somehow?
The “count=”
parameter restricts the pagelist to only the first of a number of pages specified.
Example: display the “top twenty” biggest cookbook pages:
(:pagelist group=Cookbook order=-size count=20 :)
order=name
Alphabetical listing (A to Z), this is PmWiki’s default.
order=-name
Reverse alphabetical listing (Z to A).
order=title
Pagelist sorted alphabetically (A to Z) by titles rather than names.
order=-title
Reverse alphabetical (Z to A) listing by titles rather than names.
order=ctime
Pagelist sorted by creation time (most recently created pages last).
order=-ctime
Pagelist in reverse order by creation time (most recently created pages first).
order=time
Pagelist sorted by modification time (most recently changed pages last).
order=-time
Pagelist in reverse order by modification time (most recently changed pages first).
order=size
Pagelist sorted by page size (not file size), smallest pages first.
order=-size
Pagelist sorted by page size, biggest pages first.
order=random
Pagelist sorted randomly
Example 1: Display all pages of the current group, except this page, by time of modification, most recent first:
(:pagelist group={$Group} order=-time list=normal -{$FullName}:)
Example 2: Displays a list of all pages with links to Pm’s profiles page (i.e., pages containing Pm?. What’s more, the pages are listed in reverse order by modification time (most recently changed pages first):
(:pagelist link=Profiles.Pm order=-time fmt=simple:)
link=
and order=
options are “expensive” in that they require a fair amount of page scanning in order to obtain their results. On the other hand, link=
and order=
are less expensive than doing full text searches, and in future versions of PmWiki they may end up being optimized even further.
I will have a large wiki with lots of play titles. I would like to be able to have separate pagelists containing section A titles, section B titles, section C titles, etc. instead of one large alphabetical listing of titles. Is this possible with pagelist? PL 20060218
!!!A section:
(:pagelist group=Plays list=normal name=A* :)
!!!B section:
(:pagelist group=Plays list=normal name=B* :)
!!!C section:
(:pagelist group=Plays list=normal name=C* :)
etc.
!!!X Y Z section
(:pagelist group=Plays list=normal name=X*,Y*,Z* :)
~HansB?
In a large wiki, pages are often named systematically, so I sometimes need to get a list of pages with specific name parts (the Linux ls *name*
thing). I couldn’t find a way to configure it (list=xxx allows so but only for predefined patterns), so I added the following code to pagelist.php (beta36) near line 111 next to the ‘group’ option:
if ($opt[‘named’]) array_unshift($pats,”/({$opt[‘named’]})/i”);
Then with
(:pagelist named=ReleaseNotes list=normal:)
I get (very quick) a list of all pages containing "ReleaseNotes"
in their name. Wouldn’t that be worth adding to the mainline code? tpahl?
(:pagelist group=Recipes list=normal apple pie:)
lists all pages with apple AND pie in them,
how do I get a list of all pages with apple OR pie?
I would suggest use two pagelist directives:(:pagelist group=Recipes list=normal apple :)
(:pagelist group=Recipes list=normal pie:)
DirkBlaas?
This unfortunately list all pages that have both apple and pie on them twice.
(:pagelist group=Recipes list=normal -apple -pie:)
lists all pages without apple OR pie,
how do I get a list of all pages without apple AND pie in them?
This is possible from pmwiki 2.1.beta21 onwards using this syntax:
(:pagelist group=-xxx,-yyy,-zzz :)
(Hans B? gave me this hint - Thanks!)
Does this apply to the name parameter too, eg
(:pagelist group=TrampingReports order=-name list=normal name=-2005*,-HomePage,-Template:)
Category: Searching Traduction de Cookbook:PageListsExplained