X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/be02a80b7a19f3c33a8ea42c0750d94e0a91206f..623c7e17989f53ef049f12639950d2c50c9edd4f:/doc/ikiwiki/directive/meta.mdwn
diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn
index 50aaf66be..777712f32 100644
--- a/doc/ikiwiki/directive/meta.mdwn
+++ b/doc/ikiwiki/directive/meta.mdwn
@@ -13,7 +13,7 @@ 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.
-Supported fields:
+## Supported fields
* title
@@ -59,6 +59,15 @@ Supported fields:
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.
+* keywords
+
+ Specifies keywords summarizing the contents of the page. This
+ information will be put in the html header. Only letters,
+ numbers, spaces and commas are allowed in this string; other
+ characters are stripped. Note that the majority of search
+ engines, including Google, do not use information from the
+ keywords header.
+
* permalink
Specifies a permanent link to the page, if different than the page
@@ -66,8 +75,13 @@ Supported fields:
* date
- Specifies the creation date of the page. The date can be entered in
- nearly any format, since it's parsed by [[!cpan TimeDate]].
+ Specifies the creation date of the page. This creates a
+ `` header in the HTML output, but also
+ modifies the internal `ctime` in the
+ [[!iki tips/inside_dot_ikiwiki desc="internal index"]].
+ The date can be entered in nearly any format, since it's parsed by
+ [[!cpan TimeDate]] but invalid dates yield an error in 3.20180321
+ or later.
* stylesheet
@@ -82,6 +96,17 @@ Supported fields:
[[!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
@@ -98,7 +123,7 @@ Supported fields:
\[[!meta openid="http://joeyh.myopenid.com/"
server="http://www.myopenid.com/server"
- xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]]
+ xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com"]]
* link
@@ -116,14 +141,20 @@ Supported fields:
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
insert unsafe content.
+* enclosure
+
+ Specifies a link to a file to be rendered as an "enclosure" in
+ RSS/Atom feeds (and a plain old link in HTML). Useful for
+ [[!iki podcast desc=podcasting]].
+
* 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.
+ The default is to redirect without delay.
+ Optionally, a delay (in seconds) can be specified: "delay=10"
It can also be used to redirect to an external url. For example:
@@ -151,14 +182,13 @@ Supported fields:
* 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
+ Specifies a globally unique ID for a page. This guid should be a URI,
+ 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
+ pages unchanged and avoid flooding aggregators
(see [[!iki tips/howto_avoid_flooding_aggregators]]).
* updated
@@ -168,11 +198,37 @@ Supported fields:
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.
+ [[!cpan TimeDate]] can understand, just like the `date` field and maps to the
+ `` HTML header and internal `mtime` field.
+
+* foaf
+
+ Adds a Friend of a Friend ([FOAF](http://wiki.foaf-project.org/w/Autodiscovery))
+ reference to a page.
+
+ Example:
+
+ \[[!meta foaf=foaf.rdf]]
+
+* name
+
+ Adds a HTML `` header with this `name` attribute. Its other attributes are
+ taken from the other parameters, so for example
+ `\[[!meta name="foo" content="bar" x-non-standard-attribute="baz"]]`
+ becomes ``. This
+ won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
+ since it can be used to insert unsafe content.
+
+## Other fields
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.
+written to the generated html page as a <meta> header. For example,
+`\[[!meta foo="bar"]]` becomes ``. As
+with `name`, this won't be allowed if the [[!iki plugins/htmlscrubber
+desc=htmlscrubber]] plugin is enabled.
+
+This syntax cannot be used for meta headers with unusual names, in
+particular names containing `:` such as `flattr:id` and `twitter:card`.
+Please use `\[[!meta name="..." content="..."]]` for those headers.
[[!meta robots="noindex, follow"]]