diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index 28b1a1ad6..b19ea2b32 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -285,6 +285,13 @@ sub preprocess (@) { join(' ', map { "$_=\"$params{$_}\"" } keys %params). ' />', $page, $destpage); } + elsif ($key eq 'keywords') { + # Make sure the keyword string is safe: only allow alphanumeric + # characters, space and comma and strip the rest. + $value =~ s/[^[:alnum:], ]+//g; + push @{$metaheaders{$page}}, ''; + } else { push @{$metaheaders{$page}}, scrub(' Wed, 21 Mar 2012 14:33:14 -0400 diff --git a/doc/ikiwiki/directive/meta.mdwn b/doc/ikiwiki/directive/meta.mdwn index f8494dbff..984f68540 100644 --- a/doc/ikiwiki/directive/meta.mdwn +++ b/doc/ikiwiki/directive/meta.mdwn @@ -59,6 +59,15 @@ Supported fields: 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