From 23255257134b1abd662503e5ca63b17beeac39ed Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Tue, 11 Mar 2008 14:00:30 +0100 Subject: [PATCH] Let meta.openid set X-XRDS-Location header Adds an optional xrds-location parameter to the openid meta handler, which allows for XRDS delegation. A good document on XRDS is http://www.windley.com/archives/2007/05/using_xrds.shtml Signed-off-by: martin f. krafft --- IkiWiki/Plugin/meta.pm | 4 ++++ doc/plugins/meta.mdwn | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index 2df5a727c..b98864722 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -145,6 +145,10 @@ sub preprocess (@) { #{{{ push @{$metaheaders{$page}}, ''; } + if (exists $params{xrds-location} && safeurl($params{xrds-location})) { + push @{$metaheaders{$page}}, ''; + } } elsif ($key eq 'redir') { return "" if $page ne $destpage; diff --git a/doc/plugins/meta.mdwn b/doc/plugins/meta.mdwn index b503e4511..336c79806 100644 --- a/doc/plugins/meta.mdwn +++ b/doc/plugins/meta.mdwn @@ -64,10 +64,15 @@ Supported 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. Example: + OpenID server. 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). - \\[[meta openid="http://joeyh.myopenid.com/" - server="http://www.myopenid.com/server"]] + 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