X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/54541869392f162bb195b8b67814ef0a394c1961..e4b096ac411494416d73e344e0aaeaacabf2f266:/doc/plugins/meta.mdwn?ds=sidebyside diff --git a/doc/plugins/meta.mdwn b/doc/plugins/meta.mdwn index 998dd5d86..599d9cbd8 100644 --- a/doc/plugins/meta.mdwn +++ b/doc/plugins/meta.mdwn @@ -1,43 +1,146 @@ +[[!template id=plugin name=meta author="[[Joey]]"]] +[[!tag type/meta]] + This plugin allows inserting arbitrary metadata into the source of a page. -This plugin is not enabled by default. If it is enabled, the title of this -page will say it is. [[meta title="meta plugin (enabled)"]] Enter the metadata as follows: - \\[[meta field="value"]] - \\[[meta field="value" param="value" param="value"]] + \[[!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. -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: - - \\[[meta link="foo.css" rel="stylesheet" type="text/css"]] - - A non-user-visible [[WikiLink]] would instead 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=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 + + 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. + +* 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 (for `openid` and `openid2`). 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: + + \\[[!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 [[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. + +* 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 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. + +* 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|tips/howto_avoid_flooding_aggregators]]. + +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.