2008-04-16
■ [Other] noluggerをCodeReposに

noluggerの自分コミット分をCodeRepos::Shareに移しました。 以後の更新はこちらですることになります。
hironori.yoshida氏のコミット分はまずご本人と連絡をつけてからで。
コメント
2008-02-03
■ [Other][Filter] zoomeのRSSからVOCALOID関係のものだけを抽出するyaml

タグのRSSを配信してほしいところ。
base-config.yaml
global: assets_path: /plagger/assets plugin_path: /perl/lib/Plagger/Plugin timezone: Asia/Tokyo log: level: warn encoding: UTF-8 cache: base: /plagger/cache expires: 259200
recipes-rss-config.yaml
define_recipes: vocaloid_zoome: - module: Subscription::Config config: feed: - url: http://mov.zoome.jp/rss1/newclip.xml - url: http://mov.zoome.jp/rss1/newdiary.xml
recipes-gmail-config.yaml
define_recipes: publish_video: - module: Publish::Gmail config: mailto: foo+video@gmail.com mailfrom: foo@bar.com mailroute: via: sendmail command: /usr/sbin/sendmail
vocaloid-zoome-config.yaml
include: - /base-config.yaml - /recipes-rss-config.yaml - /recipes-gmail-config.yaml recipes: - vocaloid_zoome - publish_video plugins: - module: Filter::Rule rule: - module: Expression expression: $args->{entry}->title =~ /(ミク)|(リン)|(VOCALOID)/ - module: Deduped path: /plagger/cache/vocaloid_zoome.db compare_body: 0
2007-02-24
■ [Subscription][Publish] 入出力が複数なrecipe

id:mizzyさんのmizzy.org - Plagger にあって Yahoo!pipes にあるものより
それ Plagger でもできるよ。複数の入力から一つの出力もできるし、一つの入力から複数の出力もできるし、複数の入力から複数の出力もできる。
の補足など。
むしろ何で「Plaggerじゃできない」なんて勘違いが生まれてしまったのか?
それはおそらく、config.yamlの書き方例のほとんどが単一の入出力であった為なのではないかと。
と、いうわけで複数入出力時のconfig.yamlを書いてみる。
複数入力から一つの出力へ
- module: Subscription::Config config: feed: - http://b.hatena.ne.jp/hotentry/news/rss - http://del.icio.us/rss/ - module: SmartFeed::All config: title: sbmix - module: Publish::Feed rule: expression: $args->{feed}->id eq 'smartfeed:all' config: format: RSS dir: /home/user/www filename: sbmix.rss
一つの入力から複数の出力へ
- module: Subscription::Config config: feed: - http://del.icio.us/rss/ - module: Publish::Gmail config: mailto: user@gmail.com mailfrom: postmaster@domain.com mailroute: via: sendmail command: /usr/sbin/sendmail - module: Publish::PSP config: output_file: /home/user/www
複数入力から複数の出力へ
- module: Subscription::Config config: feed: - http://b.hatena.ne.jp/hotentry/news/rss - http://del.icio.us/rss/ - module: SmartFeed::All config: title: sbmix - module: Publish::Gmail config: mailto: user@gmail.com mailfrom: postmaster@domain.com mailroute: via: sendmail command: /usr/sbin/sendmail - module: Publish::PSP config: output_file: /home/user/www
2007-02-04
■ [Widget] ma.gnolia

ついでに補足すると、ma.gnoliaのRSSで他のソーシャルブックマークを同期させる場合、full版ではなくlite版のRSSを使いましょう。
assets/plugins/Widget-Simple/magnolia.yaml
link: http://ma.gnolia.com/bookmarklet/popup/add query: url: $args->{entry}->permalink title: $args->{entry}->title description: $args->{entry}->summary content: <img src="http://ma.gnolia.com/favicon.ico" alt="Mark in Magnolia" style="border:0;vertical-align:middle" />
assets/plugins/Widget-Simple/mini_ma_rker.yaml
link: http://ma.gnolia.com/bookmarklet/marker/add query: url: $args->{entry}->permalink title: $args->{entry}->title description: $args->{entry}->summary content: <img src="http://ma.gnolia.com/favicon.ico" alt="Mark in Magnolia" style="border:0;vertical-align:middle" />
config.yaml
- module: Widget::Simple
config:
widget: magnolia
2007-01-14
■ [Publish] Publish::Gmailで要約を送信

一足早くPlugin::Summaryを試してみたい人へ。
assets/plugins/Publish-Gmail/gmail_notify.tt
[% USE util = Plagger.Util -%] <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=[% encoding %]" /> </head> <body> [% FOREACH entry = feed.entries -%] <div> <div> [% IF entry.icon %]<a href="[% entry.permalink | html %]"><img [% util.dumbnail(entry.icon, width=150, height=60) %] style="border:0" align="right" src="[% entry.icon.url | html %]" alt="[% (entry.icon.title || entry.title) | html %]" /></a> [% ELSIF feed.image %]<a href="[% feed.link | html %]"><img [% util.dumbnail(feed.image, width=150, height=60) %] style="border:0" align="right" src="[% feed.image.url | html %]" alt="[% feed.title | html %]" /></a> [% END -%] <strong style="font-weight:bold;font-size:1.2em">[% entry.title %]</strong><br /> Link: <a href="[% entry.permalink | html %]">[% entry.permalink | html %]</a><br /> [% IF entry.author %]by [% entry.author | html %][% END %][% IF entry.tags.size %] on [% entry.tags.join(',') %][% END %]</div> [% IF entry.summary -%] [% entry.summary %] [% ELSE %]<br />[% END %] <div style="font-size:0.8em">[% IF entry.date %]Posted on [% entry.date.format('Mail') %][% END %] | <a href="[% entry.permalink | html %]">permalink</a> | <a href="[% feed.link | html %]">[% feed.title | html %]</a>[% FOREACH widget = entry.widgets %] | [% widget.html(entry) %][% END %]<br clear="all" /></div> </div> [% UNLESS loop.last %]<hr />[% END %] [%- END %] </body> </html>
config.yaml
- module: Summary::Japanese - module: Publish::Gmail config: assets_path: (上記gmail_notify.ttを保存したフォルダパス) mailto: (send to mail address) mailfrom: (your mail address) mailroute: via: smtp_tls host: smtp.gmail.com:587 username: (your account) password: (your account password)