aboutsummaryrefslogtreecommitdiff
path: root/doc/plugins/meta.mdwn
blob: 0a934fc5cb73438f43e7d1c147f527db95007b0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[[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:

	\[[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.

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:

* 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 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.

* authorurl

  Specifies an url for the author of a page.

* 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.

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.