いまさら聞けない? 初心者向けPlagger設定覚え書き その4
いまPla*1 その4です。
その3ではちょっと難しい話になってしまったので今回はできるだけライトに行きたいと思います。前回までに Filter::EntryFullText と CustomFeed::Config をうまく使うといろんなサイトの欲しいところを持ってこられるということを書いてきました。今回はその出力方法に関していくつか取り上げてみたいと思います。
その3までのconfig.yamlでは出力部分はすべてGmailにメールする設定でした。
- module: Publish::Gmail config: mailto: xxx@gmail.com mailfrom: xxx+plagger@gmail.com
- mailto
- 宛先です。ご自分のメールアドレスをどうぞ。
- mailfrom
- 送信元となるメールアドレスです。Gmailではアカウントに対して「+xxx」という風にしても自分のアドレスとして使うことができるので例のようにして送って、フィルタを使って受信トレイをスキップしたりラベルを付けたりすると便利です。
ここでは Publish::Gmail モジュールを使ってメールしていますが、もちろんGmailに限らず好きなメールアドレスに送ることができます。それをローカルのメーラで読み込んでオフラインで読んだりすることもできますし、livedoorメールなどwebメールに送っておけば携帯からもチェックすることもできますね。ローカルに送るときにはblog.bulknews.netさんの「Plagger で RSS を Becky! で読む」が参考になると思います。(画像をすべて添付ファイルにしたりしています。)やっぱすごいぜPlagger。
出力に関するモジュールはこれだけではありません。RSSとして出力したり、CHTMLとして出力したり、ExcelやPowerPoint、PDFにまで出力することができます。今回はRSSとして出力する方法、携帯用にCHTMLとして出力する方法、2つ以上のサイトをひとまとめにする方法について紹介します。
RSSやatomとして出力するときには Publish::Feed を使います。RSSを出力していないサイトからRSSを作ったり、2つ以上のRSSをひとつにまとめたりするときに使います。
- module: Publish::Feed config: format: atom dir: /home/toshi/public_html/feed/ filename: plagger.atom
- format
- 出力フォーマットです。“rss”(RSSでも大丈夫です)か“atom”を指定します。
- dir
- 出力する場所を指定します。書き出したい場所をフルパスで指定します。http://〜ではありません。
- filename
- 出力される RSS または atom の名前です。
2つ以上のフィードを読み込んでまとめる場合には↓のように書きます。
- module: SmartFeed::All - module: Publish::Feed rule: expression: $args->{feed}->id eq 'smartfeed:all' config: format: atom dir: /home/toshi/public_html/feed/ title: plagger.atom
SmartFeed::Allというモジュールを使っています。これは各エントリに“smartfeed:all”というIDをくっつけるためのものです。出力のときにこのIDを読み込んで“smartfeed:all”なら出力するように指定することで1つのatomとして出力しています。この方法はメールで送信する場合にも使えます。1つのconfig.yamlで複数のサイトやフィードを読み込むとその数だけメールが来ますが、それを1つにまとめることが可能です。ちなみに SmartFeed::All を使わないと複数読み込んでも出力されるatomには最後に読み込んだサイト・フィードしか反映されません。そのたびに上書きされてしまうからです(たぶん)
- expression
- このあとに書いたルールにマッチしたものだけを出力します。ここではエントリ毎のid($args->{feed}->id)が“smartfeed:all”と一致したときに採用しています。このほかに抽出したリンクは “$args->{entry}->link”と表現されるので正規表現を使って限られたものだけ取り出すというようなことも可能です。
携帯でどこからでもアクセスできるようにCHTMLで出力するためには↓のようにします。
- module: Publish::CHTML config: title: Plaggerで集めたアレ。 work: /PATH/public_html/mobile mobile_gw: http://mgw.hatena.ne.jp/?
- title
- 出力されるページのタイトルです。
- work
- 出力する場所を指定します。書き出したい場所をフルパスで指定します。http://〜ではありません。<手抜き
- mobile_gw
- これは抽出したHTMLを携帯で読めるように変換してくれるサーバを書きます。ここでははてなのものが書いてありますが、Googleのものであれば “http://www.google.co.jp/gwt/n?”とかなんでも結構です。使ってみて好みに変換してくれるのを選べばよいと思います。