diff options
Diffstat (limited to 'ikiwiki')
| -rw-r--r-- | ikiwiki/directive/meta.mdwn | 239 | 
1 files changed, 239 insertions, 0 deletions
| diff --git a/ikiwiki/directive/meta.mdwn b/ikiwiki/directive/meta.mdwn new file mode 100644 index 00000000..8acf2a48 --- /dev/null +++ b/ikiwiki/directive/meta.mdwn @@ -0,0 +1,239 @@ +[[!if test="enabled(meta)" +  then="In diesem Wiki ist die Direktive: meta **aktiviert**." + else="In diesem Wiki ist die Direktive: meta **nicht aktiv**; falls dies gewünscht wird, den Admin benachrichtigen."]] + +--- +The `meta` directive is supplied by the [[!iki plugins/meta desc=meta]] plugin. + +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. 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. + +## 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. + +  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 +  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. + +  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 short description for the page. This will be put in +  the html header, and can also be displayed by eg, the [[map]] directive. + +* keywords + +  Specifies keywords summarizing the contents of the page. This +  information will be put in the html header.  Only letters, +  numbers, spaces and commas are allowed in this string; other +  characters are stripped.  Note that the majority of search +  engines, including Google, do not use information from the +  keywords header. + +* permalink + +  Specifies a permanent link to the page, if different than the page +  generated by ikiwiki. + +* date + +  Specifies the creation date of the page. This creates a  +  `<meta name="date" content="...">` header in the HTML output, but also +  modifies the internal `ctime` in the +  [[!iki tips/inside_dot_ikiwiki desc="internal index"]]. +  The date can be entered in nearly any format, since it's parsed by +  [[!cpan TimeDate]] but invalid dates yield an error in 3.20180321 +  or later. + +* 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"]] +   +  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. 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). + +  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  +  [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to +  insert unsafe content. + +* enclosure + +  Specifies a link to a file to be rendered as an "enclosure" in +  RSS/Atom feeds (and a plain old link in HTML). Useful for +  [[!iki podcast desc=podcasting]]. + +* redir + +  Causes the page to redirect to another page in the wiki. + +  	\[[!meta redir=otherpage]] + +  The default is to redirect without delay. +  Optionally, a delay (in seconds) can be specified: "delay=10" + +  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  +  [[!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 +  specified using the common `#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 value is escaped, but its contents are not otherwise checked. + +* guid + +  Specifies a globally unique ID for a page. This guid should be a URI, +  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 +  (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 and maps to the +  `<meta name="updated" content="...">` HTML header and internal `mtime` 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]] + +* name + +  Adds a HTML `<meta>` header with this `name` attribute. Its other attributes are +  taken from the other parameters, so for example +  `\[[!meta name="foo" content="bar" x-non-standard-attribute="baz"]]` +  becomes `<meta name="foo" content="bar" x-non-standard-attribute="baz">`. This +  won't be allowed if the [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, +  since it can be used to insert unsafe content. + +## Other fields + +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. For example, +`\[[!meta foo="bar"]]` becomes `<meta name="foo" content="bar">`. As +with `name`, this won't be allowed if the [[!iki plugins/htmlscrubber +desc=htmlscrubber]] plugin is enabled. + +This syntax cannot be used for meta headers with unusual names, in +particular names containing `:` such as `flattr:id` and `twitter:card`. +Please use `\[[!meta name="..." content="..."]]` for those headers. + +[[!meta robots="noindex, follow"]] | 
