M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2006年10月21日 11:30

rssgen.pl→PlaggerではCustomFeed::Config

このエントリーをはてなブックマークに追加 mixiチェック

TypePad が生成した別ドメインにある 47 個の RSS を http で取得し、カテゴリ別に分離するっていうことをやるために、head で Last-Modified 確認して毎回取ってこないような fetch ルーチンと、取ってきた RSS を統合、カテゴリ別の RSS を生成するルーチンをがりがり書いたけれども少なくとも fetch ルーチンはちゃんとキャッシュを実装している Plagger で用が足りそうです。使わないけれども。

~~~

僕の RSS 生成は、rssgen.pl [hail2u.net] ていう有名な Perl スクリプトから始まり、途中で得たいろんな仕組みをくっつけてそれっぽい RSS を生成していたわけですけれども、Plagger で、これと同じことをするために使う Plugin は、CustomFeed::Config であることを突き止めるのに半日かかったよ!

そんで、例題として、市川せうぞーさん作のスクリプトが公開されたときに分かるようにするやつです。

解析するページは、http://www.seuzo.jp/st/AS_InDesignCS2/index.html になっております。

assets/plugins/CustomFeed-Config/seuzo.yaml

author: CL
match: http://www\.seuzo\.jp/st/
extract_date_format: %Y.%m.%d
extract: <a href="(.+?)" id="(.+?)">(.+?)</a>.+?<span class="datetime">(.+?)</span></dt>.*?<dd>.*?(<p class="system">.+?</p>.+?</p>.+?)<hr />
extract_capture: link id title date body
extract_after_hook: $data->{link} = $url . "#$data->{id}"


inddscriptplanet.yaml

global:
  plugin_path:
    - /usr/lib/perl5/site_perl/5.8.6/Plagger/Plugin
  assets_path: Plagger/assets
  timezone: Asia/Tokyo
  log:
    level: info
    
plugins:
  - module: Subscription::Config
    config:
      feed:
        - http://www.seuzo.jp/st/AS_InDesignCS2/index.html
  
  - module: CustomFeed::Config
  
  - module: Bundle::Planet
    config:
      duration: 1200 days
      title: Planet Inddscript
      description: InDesign Scriptを収集します
      dir: /var/www/inddscript.dtpwiki.jp/html/
      url: http://inddscript.dtpwiki.jp/
      theme: sixapart-std
      stylesheet: http://bulknews.typepad.com/test/styles.css

これで、InDesign のスクリプトを集めてくる Planet の完成です。

http://inddscript.dtpwiki.jp/

便利だなー

投稿 大野 義貴 [RSS] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1849

コメントする