]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/ikiwiki/directive/meta.mdwn
Merge branch 'master' of ssh://git.ikiwiki.info
[git.ikiwiki.info.git] / doc / ikiwiki / directive / meta.mdwn
index b01dbfe7605694159191ed08b61ee456f9c15a79..6b381f138b0fbbd666ea37b20e0dbe5860e7348a 100644 (file)
@@ -1,13 +1,14 @@
-The `meta` directive is supplied by the [[!iki plugins/meta]] plugin.
+The `meta` directive is supplied by the [[!iki plugins/meta desc=meta]] plugin.
 
-This plugin allows inserting arbitrary metadata into the source of a page.
+This directive allows inserting arbitrary metadata into the source of a page.
 Enter the metadata as follows:
 
        \[[!meta field="value"]]
        \[[!meta field="value" param="value" param="value"]]
 
 The first form sets a given field to a given value, while the second form
-also specifies some additional sub-parameters.
+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.
@@ -23,6 +24,13 @@ Supported fields:
   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
@@ -37,14 +45,19 @@ Supported fields:
 
   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 "description" of the page. You could use this to provide
-  a summary, for example, to be picked up by the [[map]] plugin.
+  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
 
@@ -64,17 +77,37 @@ Supported fields:
 
        \[[!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 (for `openid` and `openid2`). An optional `xrds-location`
+  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](http://www.windley.com/archives/2007/05/using_xrds.shtml).
 
-  This lets you use an ikiwiki page as your OpenID. Example:
+  Example:
 
-       \\[[!meta openid="http://joeyh.myopenid.com/"
+       \[[!meta openid="http://joeyh.myopenid.com/"
        server="http://www.myopenid.com/server"
        xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]]
 
@@ -91,7 +124,7 @@ Supported fields:
        \[[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]
 
   However, this latter syntax won't be allowed if the 
-  [[!iki plugins/htmlscrubber]] plugin is enabled, since it can be used to
+  [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
   insert unsafe content.
 
 * redir
@@ -108,7 +141,7 @@ Supported fields:
        \[[!meta redir="http://example.com/"]]
 
   However, this latter syntax won't be allowed if the 
-  [[!iki plugins/htmlscrubber]] plugin is enabled, since it can be used to
+  [[!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
@@ -125,9 +158,7 @@ Supported fields:
   some combinations make sense. If there is no robots meta tag, "index,
   follow" is used as the default.
 
-  The plugin escapes the value, but otherwise does not care about its
-  contents. In particular, it does not check the values against the set of
-  valid values but serves whatever you pass it.
+  The value is escaped, but its contents are not otherwise checked.
 
 * guid
 
@@ -141,9 +172,27 @@ Supported fields:
   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.
+
+* foaf
+
+  Adds a Friend of a Friend ([FOAF](http://wiki.foaf-project.org/w/Autodiscovery))
+  reference to a page.
+
+  Example:
+
+       \[[!meta foaf=foaf.rdf]]
+
 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]] plugin is enabled,
+won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
 since it can be used to insert unsafe content.
 
 [[!meta robots="noindex, follow"]]