]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/meta.mdwn
* meta: Run in scan mode again (more intelligently) and re-add support for
[ikiwiki.git] / doc / plugins / meta.mdwn
index 238233e11db60ffc10f4391d14ec1ee5e464971c..0bcd11b67289fbdfb833a3d27df6cdfa549dd24f 100644 (file)
@@ -1,3 +1,6 @@
+[[template id=plugin name=meta author="[[Joey]]"]]
+[[tag type/meta]]
+
 This plugin allows inserting arbitrary metadata into the source of a page.
 Enter the metadata as follows:
 
@@ -7,41 +10,100 @@ 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 use any field names you like, but here are some predefined ones:
-
-* link
-
-  Specifies a link to another page. This is used to generate a html
-  <link> tag, and also as a way to make the wiki treat one page as
-  linking to another without displaying a user-visible link. The latter 
-  can be useful when using links to categorise pages. A html link tag
-  would look like this:
+The field values are treated as HTML entity-escaped text, so you can include
+a quote in the text by writing `"` and so on.
 
-       \[[meta link="foo.css" rel="stylesheet" type="text/css"]]
-
-  A non-user-visible [[WikiLink]] would instead look like this:
-
-       \[[meta link=otherpage]]
+Supported fields:
 
 * 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.
+
 * license
 
-  Specifies a copyright license for the page, for example, "GPL".
+  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.
 
-If the field is not treated specially (as the link and title fields are),
-the metadata will be written to the generated html page as a <meta>
-header.
+* authorurl
 
-This plugin is included in ikiwiki, but it is not enabled by default. If
-it is enabled, the title of this page will say it is.
-[[meta title="meta plugin (enabled)"]]
+  Specifies an url for the author of a page.
 
-[[tag type/meta]]
+* 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"]]
+
+* openid
+
+  Adds html <link> tags to perform OpenID delegation to an external
+  OpenID server. This lets you use an ikiwiki page as your OpenID. Example:
+
+       \\[[meta openid="http://joeyh.myopenid.com/"
+       server="http://www.myopenid.com/server"]]
+
+* 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 [[htmlscrubber]] 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 [[htmlscrubber]] 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 `PAGE#ANCHOR` syntax.
+
+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 [[htmlscrubber]] is enabled, since it can be used to
+insert unsafe content.