meta: Add openid delegate parameter to allow delegating only openid or openid2.
[ikiwiki] / doc / ikiwiki / directive / meta.mdwn
1 The `meta` directive is supplied by the [[!iki plugins/meta desc=meta]] plugin.
2
3 This directive allows inserting arbitrary metadata into the source of a page.
4 Enter the metadata as follows:
5
6         \[[!meta field="value"]]
7         \[[!meta field="value" param="value" param="value"]]
8
9 The first form sets a given field to a given value, while the second form
10 also specifies some additional sub-parameters.
11
12 The field values are treated as HTML entity-escaped text, so you can include
13 a quote in the text by writing `"` and so on.
14
15 Supported fields:
16
17 * title
18
19   Overrides the title of the page, which is generally the same as the
20   page name.
21
22   Note that if the title is overridden, a "title_overridden" variable will
23   be set to a true value in the template; this can be used to format things
24   differently in this case.
25
26 * license
27
28   Specifies a license for the page, for example, "GPL". Can contain
29   WikiLinks and arbitrary markup.
30
31 * copyright
32
33   Specifies the copyright of the page, for example, "Copyright 2007 by
34   Joey Hess". Can contain WikiLinks and arbitrary markup.
35
36 * author
37
38   Specifies the author of a page.
39
40 * authorurl
41
42   Specifies an url for the author of a page.
43
44 * description
45
46   Specifies a "description" of the page. You could use this to provide
47   a summary, for example, to be picked up by the [[map]] directive.
48
49 * permalink
50
51   Specifies a permanent link to the page, if different than the page
52   generated by ikiwiki.
53
54 * date
55
56   Specifies the creation date of the page. The date can be entered in
57   nearly any format, since it's parsed by [[!cpan TimeDate]].
58
59 * stylesheet
60
61   Adds a stylesheet to a page. The stylesheet is treated as a wiki link to
62   a `.css` file in the wiki, so it cannot be used to add links to external
63   stylesheets. Example:
64
65         \[[!meta stylesheet=somestyle rel="alternate stylesheet"
66         title="somestyle"]]
67
68 * openid
69
70   Adds html <link> tags to perform OpenID delegation to an external
71   OpenID server (for `openid` and `openid2`). An optional `xrds-location`
72   parameter lets you specify the location of any [eXtensible Resource
73   DescriptorS](http://www.windley.com/archives/2007/05/using_xrds.shtml).
74
75   This lets you use an ikiwiki page as your OpenID. Example:
76
77         \\[[!meta openid="http://joeyh.myopenid.com/"
78         server="http://www.myopenid.com/server"
79         xrds-location="http://www.myopenid.com/xrds?username=joeyh.myopenid.com""]]
80
81   By default this will delegate for both `openid` and `openid2`. To only
82   delegate for one, add a parameter such as `delegate=openid`.
83
84 * link
85
86   Specifies a link to another page. This can be used as a way to make the
87   wiki treat one page as linking to another without displaying a user-visible
88   [[ikiwiki/WikiLink]]:
89
90        \[[!meta link=otherpage]]
91
92   It can also be used to insert a html <link> tag. For example:
93
94        \[[!meta link="http://joeyh.myopenid.com/" rel="openid.delegate"]]
95
96   However, this latter syntax won't be allowed if the 
97   [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
98   insert unsafe content.
99
100 * redir
101
102   Causes the page to redirect to another page in the wiki.
103
104         \[[!meta redir=otherpage]]
105
106   Optionally, a delay (in seconds) can be specified. The default is to
107   redirect without delay.
108
109   It can also be used to redirect to an external url. For example:
110
111         \[[!meta redir="http://example.com/"]]
112
113   However, this latter syntax won't be allowed if the 
114   [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
115   insert unsafe content.
116
117   For both cases, an anchor to jump to inside the destination page may also be
118   specified using the common `#ANCHOR` syntax.
119
120 * robots
121
122   Causes the robots meta tag to be written:
123
124         \[[!meta robots="index, nofollow"]]
125
126   Valid values for the attribute are: "index", "noindex", "follow", and
127   "nofollow". Multiple comma-separated values are allowed, but obviously only
128   some combinations make sense. If there is no robots meta tag, "index,
129   follow" is used as the default.
130
131   The value is escaped, but its contents are not otherwise checked.
132
133 * guid
134
135   Specifies a globally unique ID for a page. This guid should be a URI
136   (in particular, it can be `urn:uuid:` followed by a UUID, as per
137   [[!rfc 4122]]), and it will be used to identify the page's entry in RSS
138   and Atom feeds. If not given, the default is to use the page's URL as its
139   guid.
140
141   This is mostly useful when a page has moved, to keep the guids for
142   pages unchanged and avoid_flooding_aggregators
143   (see [[!iki tips/howto_avoid_flooding_aggregators]]).
144
145 * updated
146
147   Specifies a fake modification time for a page, to be output into RSS and
148   Atom feeds. This is useful to avoid flooding aggregators that sort by
149   modification time, like Planet: for instance, when editing an old blog post
150   to add tags, you could set `updated` to be one second later than the original
151   value. The date/time can be given in any format that
152   [[!cpan TimeDate]] can understand, just like the `date` field.
153
154 If the field is not one of the above predefined fields, the metadata will be
155 written to the generated html page as a <meta> header. However, this
156 won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled,
157 since it can be used to insert unsafe content.
158
159 [[!meta robots="noindex, follow"]]