movabletype 移行に伴い、記事サマリ収集プログラムの修正

movabletype に変更して、自宅サイトのトップの記事サマリが実態にあわなくなった。
自動生成されている Atom 形式の RSS フィードを、マージするプログラムを作り、
その処理に、記事サマリを HTML 化したものを出力するように変更する。

#!/usr/bin/perl

use Jcode ;
use XML::TreePP ;
use XML::FeedPP ;
use POSIX qw( strftime ) ;

# 新規に生成するRSSフィード
$rss_atom = "/var/www/system/atom.xml" ;

# RSSフィードをHTML形式でも作成(トップページ用)
$rss_html = "/var/www/system/rss.html" ;

# RSSフィードを探すユーザ一覧
@local_rss_uid = ( "ユーザ名" ) ;

my $feed = XML::FeedPP::Atom->new();
$feed->merge( "/var/www/system/rss.xml" ) ;

# 自宅 MovableType の RSS Feed をマージ
foreach $uid ( @local_rss_uid ) {
  if ( -f "/home/$uid/public_html/mt/atom.xml" ) {
    $feed->merge( "/home/$uid/public_html/mt/atom.xml" ) ;
  }
}
# RSS Feed に全体情報を設定
$feed->title( Jcode->new( "tsaitoh.net全体のRSSフィード" )->utf8 ) ;
$feed->pubDate( time() ) ;

# フィード一覧をHTMLで生成
open( HTML , ">$rss_html" ) ;
print HTML "<ul>\n" ;
foreach my $item ( sort( $feed->get_item() ) ) {
  if ( $item->title() ne "" ) {
    my $date = strftime( "%m/%d" ,
                         localtime( XML::FeedPP::Util::get_epoch( $item->pubDate() ) ) ) ;
    print HTML "<li>$date <a href=\"".$item->link()."\" target=\"_top\">"
      .Jcode->new( do htmlspecialchars( $item->title() ) )->euc ."</a></li>\n" ;
  }
}
print HTML "</ul>\n" ;
close( HTML ) ;

$feed->to_file( $rss_atom ) ;
 

2017年2月

      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        

ウェブページ

アーカイブ

Webデータ

このブログ記事について

このページは、T-Saitohが2009年3月 5日 18:00に書いたブログ記事です。

ひとつ前のブログ記事は「携帯からの書き込み」です。

次のブログ記事は「VAIO-type P はポケットに...」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。