PmWiki uses a number of directives to specify page titles, descriptions, page keywords, and control the display of various components. Directive keywords are not case sensitive, e.g. Description, description, and DESCRIPTION are equivalent.
(:attachlist:)
(:attachlist:)
always resolves to a pagename. The directive then displays all of the attachments currently available for that page.
(:attachlist NAME:)
shows a list of attachments of the group or page NAME.
(:attachlist {*$Name}:)
shows a list of attachments of the current page or group. (useful for making a Group Headers or Footers in a case of per-page attachments)
(:attachlist ext=xxx,yyy:)
comma separated extension patterns for filtering by type of file (case insensitive).
(:attachlist names=*.jpg,*.pdf,-private*.jpg:)
comma separated filename patterns for filtering by file name (case insensitive).
(:attachlist *:)
shows the uploads directory and permits browsing of all uploaded files by directory if your server configuration allows automatic file listings (will not work if $EnableDirectDownload
is set to 0).
(:description text:)
<meta name='description' content='...' />
element in the page output.)
(:keywords word1, word2, ...:)
<meta name='keywords' content='...' />
element in the output.)
(:linebreaks:)
, (:nolinebreaks:)
(:nolinebreaks:)
to cause text lines to automatically join again.
(:linkwikiwords:), (:nolinkwikiwords:)
$EnableWikiWords
. See also $LinkWikiWords
.
(:markup:) ... (:markupend:)
or (:markup:)[=...=]
(:markup class=horiz:)
will show the markup side by side instead of one upon the other.
(:markup class=norender:)
will show only the markup not the result.
(:markup caption='...':)
adds a caption to the markup example.
(:markupend:)
is not required when using (:markup:)[=...=]
.
[=...=]
option then the opening [=
MUST occur on the same line as the (:markup:)
. If you are using the full (:markup:) ... (:markupend:)
form then your markup code must appear AFTER a newline after the initial (:markup:)
.
(:messages:)
(:noaction:)
<!--PageActionFmt-->
thru <!--/PageActionFmt-->
. In the PmWiki skin, this turns off the display of the actions at the top-right of the page (other skins may locate the actions in other locations). The actions at the bottom of the page are still available.
(:nogroupheader:)
(:nogroupfooter:)
(:noheader:), (:nofooter:)
(:noleft:), (:noright:), (:notitle:)
(:redirect PageName:)
(:redirect PageName#anchor:)
(:redirect PageName status=301 from=name quiet=1:)
status=
option can be used to return a different HTTP status code as part of the redirect. The from=
option limits redirects to occurring only on pages matching the wildcarded name (helpful when (:redirect:)
is in another page). The quiet=1
option allows the target page not to display a link back to the original page ($EnableRedirectQuiet
variable should be set to 1).
(:spacewikiwords:), (:nospacewikiwords:)
(:title text:)
$EnablePageTitlePriority
about how to change it).
(:toc:)
, (:notoc:)
(:Summary:text:)
Can I get (:redirect:)
to return a "moved permanently" (HTTP 301) status code?
Use (:redirect PageName status=301:)
.
Is there any way to prevent the "redirected from" message from showing at the top of the target page when I use (:redirect:)
?
From version 2.2.1 on, set in config.php
and in the page $EnableRedirectQuiet
=1;(:redirect OtherPage quiet=1:)
for a quiet redirect.
Is there any method for redirecting to the equivalent page in a different group, i.e. from BadGroup/thispage => GoodGroup/thispage using similar markup to (:redirect Goodgroup.{Name}:)?
(:redirect Goodgroup.{$Name}:)
works if you want to put it in one page.
(:redirect Goodgroup.{*$Name}:)
into Badgroup.GroupHeader
- however, that only works with pages that really exist in Goodgroup
; if you visit a page in Badgroup
without a corresponding page of the same name in Goodgroup
, instead of being redirected to a nonexistant page, you get the redirect Directive at the top of the page.
(:if exists Goodgroup.{*$Name}:)(:redirect Goodgroup.{*$Name}:)(:ifend:)
in Badgroup.GroupHeader
you get redirected to Goodgroup.Name
if it exists, otherwise you get Badgroup.Name
without the bit of code displayed.
How can a wiki enable linebreaks by default, i.e. without having the directive (:linebreaks:)
in a page or in a GroupHeader?
Add to config.php
such a line:$HTMLPNewline = '<br/>';
This page may have a more recent version on pmwiki.org: PmWiki:PageDirectives, and a talk page: PmWiki:PageDirectives-Talk.