Home > Perl > CGIモジュールで RSS Auto-Discovery を作成する方法

CGIモジュールで RSS Auto-Discovery を作成する方法

  • 2006-09-14 (木)
  • Perl
  • このエントリーを含むはてなブックマーク

小ネタ。以下のように書くことで、ページに対応した RSS Feed をブラウザに知らせる為の RSS Auto-Discovery : <link rel="alternate" /> タグを出力させることができるようです。

use CGI;
my $cgi = CGI->new;
print $cgi->header(-charset => 'utf-8');

print $cgi->start_html(
    -title => 'hoge',
    -head => CGI::Link({
        rel   => 'alternate',
        type  => 'application/rss+xml',
        title => 'RSS 2.0',
        href  => $cgi->url(-base=>1) ."/index.xml",
    }),
);

print $cgi->end_html;

実行結果 (一部整形):

<!DOCTYPE html PUBLIC "-//W3C// ... >
<html xmlns="http://www.w3.org/1999/xhtml ... >
<head>
<title>hoge</title>
<link rel="alternate" href="http://colinux/index.xml" title="RSS 2.0" type="application/rss+xml" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
</body>
</html>

複数の auto-discovery を出したい

RSSに加えて Atom Feed も auto-discovery に加えたい時などは、以下のように -head 部分を配列リファレンスにしてあげればOKな模様。

print $cgi->start_html(
-title => 'hoge',
-head => [
CGI::Link({
rel => 'alternate',
type => 'application/rss+xml',
title => 'RSS 2.0',
href => $cgi->url(-base=>1) ."/index.xml",
}),
CGI::Link({
rel => 'alternate',
type => 'application/atom+xml',
title => 'Atom',
href => $cgi->url(-base=>1) ."/atom.xml",
}),
],
);

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

Home > Perl > CGIモジュールで RSS Auto-Discovery を作成する方法

Search
Feeds

Page Top