This directive allows inserting arbitrary metadata into the source of a page.
Enter the metadata as follows:
The first form sets a given field to a given value, while the second form
also specifies some additional sub-parameters. You can have only one field
per meta
directive, use more directives if you want to specify more fields.
The field values are treated as HTML entity-escaped text, so you can include
a quote in the text by writing "
and so on.
-
title
Overrides the title of the page, which is generally the same as the
page name.
Note that if the title is overridden, a "title_overridden" variable will
be set to a true value in the template; this can be used to format things
differently in this case.
An optional sortas
parameter will be used preferentially when
[[ikiwiki/pagespec/sorting]] by meta(title)
:
[[!meta title="The Beatles" sortas="Beatles, The"]]
[[!meta title="David Bowie" sortas="Bowie, David"]]
-
license
Specifies a license for the page, for example, "GPL". Can contain
WikiLinks and arbitrary markup.
-
copyright
Specifies the copyright of the page, for example, "Copyright 2007 by
Joey Hess". Can contain WikiLinks and arbitrary markup.
-
author
Specifies the author of a page.
An optional sortas
parameter will be used preferentially when
[[ikiwiki/pagespec/sorting]] by meta(author)
:
[[!meta author="Joey Hess" sortas="Hess, Joey"]]
-
authorurl
Specifies an url for the author of a page.
-
description
Specifies a short description for the page. This will be put in
the html header, and can also be displayed by eg, the [[map]] directive.
-
permalink
Specifies a permanent link to the page, if different than the page
generated by ikiwiki.
-
date
Specifies the creation date of the page. The date can be entered in
nearly any format, since it's parsed by [[!cpan TimeDate]].
-
stylesheet
Adds a stylesheet to a page. The stylesheet is treated as a wiki link to
a .css
file in the wiki, so it cannot be used to add links to external
stylesheets. Example:
[[!meta stylesheet=somestyle rel="alternate stylesheet"
title="somestyle"]]
However, this will be scrubbed away if the
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
since it can be used to insert unsafe content.
-
script
Adds a script to a page. The script is treated as a wiki link to
a .js
file in the wiki, so it cannot be used to add links to external
scripts. The optional defer
and async
keywords can be used to set
the corresponding HTML4 and HTML5 script options. Example:
[[!meta script=somescript defer async]]
The tag is subject to scrubbing as with the stylesheet and link fields.
-
openid
Adds html <link> tags to perform OpenID delegation to an external
OpenID server. This lets you use an ikiwiki page as your OpenID.
By default this will delegate for both openid
and openid2
. To only
delegate for one, add a parameter such as delegate=openid
.
An optional xrds-location
parameter lets you specify the location of any eXtensible Resource
DescriptorS.
Example:
[[!meta openid="http://joeyh.myopenid.com/"
server="http://www.myopenid.com/server"
xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]]
-
link
Specifies a link to another page. This can be used as a way to make the
wiki treat one page as linking to another without displaying a user-visible
[[ikiwiki/WikiLink]]:
\[[!meta link=otherpage]]
It can also be used to insert a html <link> tag. For example:
\[[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]
However, this latter syntax won't be allowed if the
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
insert unsafe content.
-
redir
Causes the page to redirect to another page in the wiki.
[[!meta redir=otherpage]]
Optionally, a delay (in seconds) can be specified. The default is to
redirect without delay.
It can also be used to redirect to an external url. For example:
[[!meta redir="http://example.com/"]]
However, this latter syntax won't be allowed if the
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
insert unsafe content.
For both cases, an anchor to jump to inside the destination page may also be
specified using the common #ANCHOR
syntax.
-
robots
Causes the robots meta tag to be written:
\[[!meta robots="index, nofollow"]]
Valid values for the attribute are: "index", "noindex", "follow", and
"nofollow". Multiple comma-separated values are allowed, but obviously only
some combinations make sense. If there is no robots meta tag, "index,
follow" is used as the default.
The value is escaped, but its contents are not otherwise checked.
-
guid
Specifies a globally unique ID for a page. This guid should be a URI
(in particular, it can be urn:uuid:
followed by a UUID, as per
[[!rfc 4122]]), and it will be used to identify the page's entry in RSS
and Atom feeds. If not given, the default is to use the page's URL as its
guid.
This is mostly useful when a page has moved, to keep the guids for
pages unchanged and avoid_flooding_aggregators
(see [[!iki tips/howto_avoid_flooding_aggregators]]).
-
updated
Specifies a fake modification time for a page, to be output into RSS and
Atom feeds. This is useful to avoid flooding aggregators that sort by
modification time, like Planet: for instance, when editing an old blog post
to add tags, you could set updated
to be one second later than the original
value. The date/time can be given in any format that
[[!cpan TimeDate]] can understand, just like the date
field.
If the field is not one of the above predefined fields, the metadata will be
written to the generated html page as a <meta> header. However, this
won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
since it can be used to insert unsafe content.