Seacolor Labs. このページをアンテナに追加 RSSフィード

2007-02-24

[][] 入出力が複数なrecipe 15:56  入出力が複数なrecipe - Seacolor Labs. を含むブックマーク はてなブックマーク -  入出力が複数なrecipe - Seacolor Labs.  入出力が複数なrecipe - Seacolor Labs. のブックマークコメント

 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-01-14

[] Publish::Gmailで要約を送信 20:17  Publish::Gmailで要約を送信 - Seacolor Labs. を含むブックマーク はてなブックマーク -  Publish::Gmailで要約を送信 - Seacolor Labs.  Publish::Gmailで要約を送信 - Seacolor Labs. のブックマークコメント

一足早く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)

2006-08-01

[][][] del.icio.usはてなブックマークを同期させるyaml(完全版) 19:27  del.icio.usとはてなブックマークを同期させるyaml(完全版) - Seacolor Labs. を含むブックマーク はてなブックマーク -  del.icio.usとはてなブックマークを同期させるyaml(完全版) - Seacolor Labs.  del.icio.usとはてなブックマークを同期させるyaml(完全版) - Seacolor Labs. のブックマークコメント

 del.icio.usブックマークはてなブックマークポストする設定を自分好みに改良し、「たぶんもうこれ以上いじることはないだろう」というレベルまで達したyamlです。

atode.ccクローンを使っているので、toreadタグが付いているものはポストしないようにしてあります。

追記:06/08/07

 d:id:otsune様より取りこぼしの危険性を指摘されたので重複チェックをFreshからDedupedに変更しました。

 「完成版じゃなかったの?」というツッコミタイトルを御再見いただきたく候。

global:
  plugin_path:
    - C:\Perl\site\lib\Plagger\Plugin
  assets_path: C:\Perl\site\lib\Plagger\assets
  timezone: Asia/Tokyo
  log:
    level: info
  cache:
    base: /plagger

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://del.icio.us/rss/seacolor

  - module: Filter::Rule
    rule:
      module: Deduped
      path: /plagger/cache_rule/delicious2hateb.tmp
      compare_body: 1
  - module: Filter::Reverse
  - module: Filter::DeliciousFeedTags

  - module: Publish::HatenaBookmark
    rule:
      expression: not $args->{entry}->has_tag('toread')
    config:
      username: (your account)
      password: (your password)
      interval: 8
      post_body: 1 

2006-06-19

[][][] 製作予定のPlagger::Plugins 22:38  製作予定のPlagger::Plugins - Seacolor Labs. を含むブックマーク はてなブックマーク -  製作予定のPlagger::Plugins - Seacolor Labs.  製作予定のPlagger::Plugins - Seacolor Labs. のブックマークコメント

自分を鼓舞する意味も込めて製作予定のプラグインを書いておく。

・CustomFeed::VersionUpInfo
 OnlineSoft VersionUp.infoの新着情報を取得。

・Subscription::Spurl
 Spurl!APIを通してフィードを取得。

・Publish::Spurl
 Spurl!APIを通してフィード更新

Spurlプラグインは非常に有用そうなので是非欲しいところ。

頑張れ自分。