タグ

ブックマーク / s-nobu.hatenadiary.org (12)

  • Widget::Simpleを使ってテンプレートをDRYに - s_nobuの日記

    皆さんがHackthon中*1なので、Plaggerでも新顔のプラグインのWidget::Simpleで遊んで見ました。 Widgetは面白いものの、使用しているテンプレートはmiyagawaさん謹製のP::GmailとP::Planet、P::PSPでしか使われていません(P::GmailをパクッたP::MaildirとP::IMAPも使用していますが…)。で、使用している箇所を見て見たらほとんど同じになっていたので、ちょっとハックして見ました。 ハック内容としては、Widgetを配置する場所の前に必ず記述してあるpostedtimeやpermalink、feedlinkもWiget::Simpleで記述しようと言うものです。 うまく使えれば、他のPublishでも面白い使い方が出来るのでは? plagger/lib/Plagger/Plugin/Widget/Simple.pm W::

    Widget::Simpleを使ってテンプレートをDRYに - s_nobuの日記
  • Entry速読用Filter#2 - s_nobuの日記

    先日から継続して作っているEntry速読用Filterを修正。一応ガイドラインに沿ってプラグインをシンプルにするため、3つ(1つは標準添付)に分割しました。 Filter::FormatText Filter::Substr Filter::Regexp(標準添付) 2006/06/01:miyagawaさんから指摘があり、utf8::encode($body)の位置を変更しました。 config.yamlは以下の通り - module: Subscription:Bloglines - module: Filter::EntryFullText - module: Filter::FormatText - module: Filter::Substr - module: Filter::Regexp config: regexp: s!(.*)!<pre>$1</pre>!s - mod

    Entry速読用Filter#2 - s_nobuの日記
  • Publish::Plagger用のWordpress互換テンプレート2 - s_nobuの日記

    とりあえず公開してみる。 config.yamlでの指定はWordpressのデフォルトと思われる以下のcssで。っていうかこれ以外ではきれいに動かないかも? style_url: http://managedtasks.com/wpthemes/blog/wp-content/themes/default/style.css 埋め込まれているcssはどうすれば… <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http

    Publish::Plagger用のWordpress互換テンプレート2 - s_nobuの日記
  • EntryFullTextのキャッシュを自動削除 - s_nobuの日記

    nobu@shibuya.plゲット! yappoさんありがとう!! ということで、100Tipsに向けて、以前から気になっていたEntryFullTextのキャッシュを自動削除するパッチを作成してみました。 当はauto_purgeで実装したかったのですが、うまく動かせませんでした。 --- svn/plagger/lib/Plagger/Cache.pm (リビジョン 941) +++ svn/plagger/lib/Plagger/Cache.pm (作業コピー) @@ -14,6 +14,7 @@ $conf->{class} ||= 'Cache::FileCache'; $conf->{params} ||= { cache_root => File::Spec->catfile($conf->{base}, 'cache'), + default_expires_in =>

    EntryFullTextのキャッシュを自動削除 - s_nobuの日記
  • Publish::Gmailへのパッチ - s_nobuの日記

    Publish::GmailでEntryがないFeedの時に、送信を押えるパッチ。 Filter::EntryIndexや、Filter::JapaneseHiragana、tDiaryComment.pm等でエントリーを全て削除されてしまったFeed用。 Index: svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm =================================================================== --- svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm (リビジョン 870) +++ svn/plagger/lib/Plagger/Plugin/Publish/Gmail.pm (作業コピー) @@ -52,6 +52,8 @@ sub no

    Publish::Gmailへのパッチ - s_nobuの日記
  • 英文かひらがなを含むエントリーのみの抽出 - s_nobuの日記

    bloglinesでのキーワード検索がはてなより広範囲な為、早速乗り換えました。 しかし、2バイト文字の判定は難しいらしく、言語を日語にしても他のアジアの漢字圏のFeedも混ざってきます*1。そこで、英文のみかひらがながあるエントリーのみ残すフィルタを作成しました。 正規表現はこちらを参考にしました。 ここでもruleとして同じようなものが公開されています。が、英文のみのエントリーも削除してしまうのでFilterとして実装してみました*2。 package Plagger::Plugin::Filter::JapaneseHiragana; use strict; use base qw( Plagger::Plugin ); our $VERSION = '0.1'; sub register { my($self, $context) = @_; $context->register

    英文かひらがなを含むエントリーのみの抽出 - s_nobuの日記
  • Filter::EntryIndex - s_nobuの日記

    ということで、車輪の再発明(車輪にもなってないかもしれませんが)かもしれませんが重複エントリーをはじくことが出来るプラグインを作って見ました。 とりあえずのたたき台なので、かなり未テストです。取扱いには注意してください。 追記 6/6: 正しく動いていなかったのでコードを修正 config.yaml - module: Filter::EntryIndex config: interval: 259200 # optional def. 259200 3days body_check: 1 # optional def. 0 expires: 2592000 # optional def. 259200 3days 上記の例だと同じID($entry->id_safe)を3日間、文が同じでも30日間は無視する設定です。config:以下を指定しないデフォルトの設定では、3日間IDを確認す

    Filter::EntryIndex - s_nobuの日記
  • Subscription::Configでのfeedへの日付指定 - s_nobuの日記

    otsuneさんが提案している、Subscription::ConifgでURLに日付を指定できるようにする件だが、これは自分も必要と考えている。 実際IRCへ要望として発言したときもある。その時は、Del.icio.usで、日付指定して一覧を取得したいと言う要望だったと思う。それについては、野良プラグインのCustomFeed::Deliciousを作成し、その後は必要と感じていなかった。 だが、もう一度考えてみるとやはり指定できるとうれしい局面はまだ存在する。otsuneさんの要望みたいに、毎日配信しているニュース系などはURLへ日付が必ず入るだろう。 その他に、ブックマーク数が5以上のブックマークをはてブ等のブックマークから取り出すことも効率的に出来るようになる。たとえば http://b.hatena.ne.jp/s_nobu/20060607 の様に昨日の日付を指定し、その上でブ

    Subscription::Configでのfeedへの日付指定 - s_nobuの日記
    ytesaki
    ytesaki 2006/06/07
    [Subscription::Config]
  • plaggerの自動アップデート - s_nobuの日記

    SVNコミッターとして残念で大変恥ずかしいのですが、PlaggerConferenceへは行けそうもありません。まことに遺憾です。ということで、行けたら話したい内容をConferenceに先駆けてUPしてみる。 EntryFullTextやStripRSSAdは大変有用なプラグインなのですが、それだけでは動作せず、定義ファイルが必要になります。定義ファイルは多数の人が日々公開していて、対象siteのリニューアル等に追従しているのですが、現状ではplagger.orgからsvn upしないといけません。なので、定義ファイルだけでもplaggerの実行時に更新してしまおうという提案です。 位置づけとしてはdebianでのvolatile*1みたいな感じです。とはいってもvolatileは使用したときがありませんが。 カバーする範囲は違いますが、似たようなアイデアにPEANがあります。が、pea

    plaggerの自動アップデート - s_nobuの日記
  • config.yamlを公開して見る - s_nobuの日記

    config.yamlの設定が落ち着いてきたので公開して見る。 ポイントとしては log:level:はdebugにしてる。どうせcronで>/dev/nullしてるので、コマンドラインから実行する際には細かく情報が出たほうが都合がいい。 cache:base:は/tmp/plaggerにしてる。tmpfsにしていることと、すぐに読み捨てる記事まで保存したくない。ちなみに現在の容量はなんと約70MB。かなり富豪的。 Filter::StripRSSAd,EntryFullTextは必須。 Widget::HatenaBookmarkはまだクリックしたときがないが、あったほうがいいだろう。 Subscription::Bloglinesのために使っているので必須。まだLivedoorReaderには乗りかえれなそう。 Publish::Maildirは自作なので使わないわけはいかない。半強制

    config.yamlを公開して見る - s_nobuの日記
  • filter-entryfulltext/sportsnavi.yamlで野球のみを取得 - s_nobuの日記

    plaggerにデフォルトでついてくるYahooのスポーツナビ用EntryFullTextはトップページ用になっているため、そのままでは興味のないスポーツのFeedも取得してしまう。取捨選択するのも面倒な上、plaggerの実行時間も長くなるのでプチハック。 1行目の custom_feed_handle: http://sportsnavi\.yahoo\.co\.jp/(?:index\.html)?$ を custom_feed_handle: http://sportsnavi\.yahoo\.co\.jp/.*?(?:index\.html)?$ にし、config.yamlへ url: http://sportsnavi.yahoo.co.jp/baseball/npb/index.html とすれば野球のページのみ取得できる。/baseball/npb/を/soccer/jt

    filter-entryfulltext/sportsnavi.yamlで野球のみを取得 - s_nobuの日記
  • 0.6.1へバージョンアップ - s_nobuの日記

    遅れましたが、0.5.6から0.6.1へバージョンアップして見ました。やっぱり目玉はfilter-entryfulltextでしょう。デフォルトで13のサイトがサポートされています。 とりあえずsportsnavi.yahoo.jpのみ記述して試して見たところ Plagger::Plugin::Filter::EntryFullText [fatal] \ /usr/bin/assets/plugins/filter-entryfulltext \ : そのようなファイルやディレクトリはありません at line 37 なるエラーが発生。IRCでmiyagawaさんに聞いて見たところバグのようでした。とりあえずはSVNでチェックアウトしてインストールせずに使用すればOKとのことで、早速実行してみたところ問題なく取りこめました。開発スピードが早いので早急に直るでしょう。早速修正されました。

    0.6.1へバージョンアップ - s_nobuの日記
  • 1