retlet.net
OpenFLの全文取得に使うSITEINFOをwedata版にした
- 2008年5月30日 21:36
- Plagger
retlet.net - OpenFL + Store::Fastladderで広告エントリーの削除と全文取得をするのブクマコメントでotsuneさんに
SITEINFOはwedata版に書き換えたほうがよさそう
と言われて直そう、として挫折したところに速攻fubaさんが対応してくれたので適用した。
WebService::Wedataをダウンロードしてインストール。
$ perl MakeFile.PL
$ sudo make
$ sudo make test
$ sudo make install
yamlのPlugin名を修正。
- - module: Filter::EntryFullText::SiteInfo
+ - module: Filter::EntryFullText::LDRFullFeed
- Comments: 0
- TrackBacks: 0
Vimperatorプラグインのsbmcommentsviewer.jsにtagsAndComment追加した
sbmcommentsviewer.jsはページに付けられた各種SBMのタグやコメントをバッファウィンドウに表示するVimperatorプラグイン。
map b :viewSBMComments<CR>
としておけばbキー一発でブクマコメントを一覧できて非常に便利なんだけど、タグが長すぎるとコメントの表示領域が圧迫されて見辛いことが。
というわけで、タグとコメントを同じ列に表示するtagsAndCommentフォーマットを追加してみた。
使い方は、コマンド実行時に-fオプションを使用するか、
:viewSBMComments -f id,timestamp,tagsAndComment
.vimperatorrcに設定を記述する。
let g:def_sbm_format = "id,timestamp,tagsAndComment"
これが、
こうなる。
あとついでに、ユーザーアイコンとユーザー名が上下中央揃えになるようにhtmlを少しいじった。
他にも見た目いじりたいなーと思ったんだけど、良い感じにならなかったんでuserstyel用にidとclass振るだけに留めた。
- Comments: 0
- TrackBacks: 0
Plaggerをcronで定期実行する
- 2008年5月27日 02:44
- Plagger
crontabではほとんどの環境変数が設定されていないらしいので、そのままTerminalと同じコマンドを打っても動作しないことがある。
crontab で実行されるときには、ほとんどの環境変数が設定されていないので注意が必要。~/.cshrc・~/.login で設定している環境変数は設定されていないし、PATH も /bin:/usr/bin くらいにしか通っていない。そのため、command の部分に指定するのはシェルスクリプトにしておいて、シェルスクリプトの先頭で環境変数の設定を行い、その後いろいろなコマンドを実行するようにしておくのがよいだろう。
でもPlaggerとかをいくつも実行してる場合、いちいちシェルスクリプト用意するのも面倒だよなー。ということで、crontabに環境変数を指定してみた。
参考: suVeneのあれ: crontab 設定の小話
$ crontab -e
行頭に以下を追加。
PERL5LIB=~/Sites/plagger/plagger:~/Sites/plagger/plagger/lib:$PERL5LIB
すると以下の表示。ファイルの保存が出来てない?
crontab: temp file must be edited in place
どうもvimでファイルのバックアップを取る設定になっているのがまずいみたい。
参考: OSXでcrontabの編集が反映されない « ku
普段の設定はCronniX経由でやっているので、根本的な解決はせず一時的に.vimrcの該当行をコメントアウトして回避した。
$ vim .vimrc
":set backup
で、設定してOK。なはずなんだけど、なぜか
/opt/local/bin/perl plagger -c ~/Sites/plagger/fastladder-crawler.yaml
では動かず。
/opt/local/bin/perl ~/Sites/plagger/plagger/plagger -c ~/Sites/plagger/fastladder-crawler.yaml
としてやる必要があった。
なんでだろう。plaggerのパスは通ってるはずなんだけど。
あと /opt/loca/bin/perl も書きたくないなと思って
PATH=/opt/loca/bin:$PATH
とかしても書かないと動かない。せつなさサクレツ。
メモ
cronの設定ファイル直接編集してみたところ、CronniXから変更を加えた際にその部分が消えてしまった。
あちこちの説明を読むと、cronttab -e したり、crontab ~/.crontab したりしているし、直接編集は思想的にNGなのかな?
一応、cronの設定ファイルは(Mac OS X 10.4.11の場合)以下にあるけどいじらない方が良さそう。
$ vim /var/cron/tabs/USERNAME
- Comments: 0
- TrackBacks: 0
OpenFL + Store::Fastladderで広告エントリーの削除と全文取得をする
せっかくPlagger通してるんだからやってみた。
yamlはこんな感じ。
plugins:
- module: Subscription::LivedoorReader
config:
username: USERNAME
password: PASSWORD
- module: Filter::StripRSSAd
- module: Filter::EntryFullText::SiteInfo
config:
impersonate: 0
force_upgrade: 1
- module: Store::Fastladder
config:
sync_rate: 1
connect_info:
- dbi:mysql:fastladder_production
- root
- on_connect_do:
- SET NAMES utf8
member_id: 1
Plagger実行。
$ plagger -c Sites/plagger/fastladder-crawler.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::LivedoorReader loaded.
Plagger [info] plugin Plagger::Plugin::Filter::StripRSSAd loaded.
Plagger [info] plugin Plagger::Plugin::Filter::BloglinesContentNormalize loaded.
Can't locate Web/Scraper.pm in @INC (@INC contains: /opt/local/bin/lib /Users/Madhat/Sites/plagger/plagger/lib /opt/local/lib/perl5/5.8.8/darwin-2level /opt/local/lib/perl5/5.8.8 /opt/local/lib/perl5/site_perl/5.8.8/darwin-2level /opt/local/lib/perl5/site_perl/5.8.8 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.8/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.8 /opt/local/lib/perl5/vendor_perl .) at /Users/Madhat/Sites/plagger/plagger/lib/Plagger/Plugin/Filter/EntryFullText/SiteInfo.pm line 9.
BEGIN failed--compilation aborted at /Users/Madhat/Sites/plagger/plagger/lib/Plagger/Plugin/Filter/EntryFullText/SiteInfo.pm line 9.
Compilation failed in require at /Users/Madhat/Sites/plagger/plagger/lib/Plagger.pm line 234.
怒られたのでWeb::Scraper入れる。
$ sudo cpan -i Web::Scraper
再度実行
$ plagger -c Sites/plagger/fastladder-crawler.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::LivedoorReader loaded.
Plagger [info] plugin Plagger::Plugin::Filter::StripRSSAd loaded.
Plagger [info] plugin Plagger::Plugin::Filter::BloglinesContentNormalize loaded.
Plagger [info] plugin Plagger::Plugin::Filter::EntryFullText::SiteInfo loaded.
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://b\.hatena\.ne\.jp/entry/ id("entry-info")/div[@class="section"][1]|id("bookmarked_user")
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://(feeds\.)?japan\.cnet\.com //div[contains(@class,"leaf_body")]
Plagger::Plugin::Filter::EntryFullText::SiteInfo [debug] siteinfo: ^http://www\.excite\.co\.jp/News/bit //div[@class="lh140"]
...
だららーっとsiteinfoが読み込まれてく。成功したっぽい。
- Comments: 0
- TrackBacks: 1
OpenFLの未読最大件数を200件にした
デフォルト10件という意味のわからない仕様だったので修正した。
vim ~/Sites/openfl/fastladder/config/initializers/constants.rb
MAX_UNREAD_COUNT = 200
- Comments: 0
- TrackBacks: 0
OpenFL + MySQL + Plagger::Plugin::Store::Fastladder 入れた
Web Service版のFastladderがTumblrのFeedに占領されたので追加のアカウント取ったんだけど切り替えが面倒くさい。
今あるLDRのFeedをOpenFLで読むようにすればLDRも画像関連に振れるんじゃね?ということで、インストールしたまま放ったらかしだったOpenFLがついに日の目を見る。
アジェンダ
- MySQLのインストール
- OpenFLのDB設定
- DBD::mysqlのインストール
- Store::Fastladderのインストール
- Plaggerでクローラーを動かす
4までほぼしゅにたんの記事をなぞっただけ。
参考
- Comments: 0
- TrackBacks: 1
Windows XP SP3統合ディスクの作成
会社のWinマシンに入れる用に作った。統合にはnLite 1.4.5 Final
を使用。
仕事の都合上あんまりカスタマイズするのもまずいので、ほぼ統合しただけ。
- 無印XPを使用(SP2適用済みを使用するより若干容量が削減できるらしい)
- Windows XP Service Pack 3 ネットワーク インストール パッケージをダウンロードして適用
- 無人インストール
プロダクトキーは空欄(他のマシンに入れる可能性も考えて)OOBE のスキップユーザー名、パスワード変更ワークグループ、組織入力(同じ理由でコンピュータ名、名前は空欄)言語グループ>Japaneseタイムゾーン>(GMT+09:00) 大阪、札幌、東京Automatic Updates>更新の通知のみ
- オプション
「Press Any Key...」ブートメッセージ無効古い BIOS 情報を削除する> 有効重複ファイルを削除する> 有効
あとはデフォルトのまま。
- トータルサイズ 669MB
- ISOイメージ 640MB
一応VMWare Playerでテストしてからインストールした。
ハマり所としては、コンピュータ名が同じネットワーク内のマシンと被らないようにすること。テスト時に同じ名前入れてたら Windows をインストールしています のステップで無限ループした。
参考: nLite Windowsの不要なコンポーネントを削除する(Win XP SP3版)(Windows XP SP3での nLite設定例)
- Comments: 0
- TrackBacks: 0
Vimperator 1.0でset hintstyleが効くようになった
- 2008年5月19日 16:22
- Vimperator
ちょっと前まで設定は反映されているはずのに何故か見た目に変化がなかったHit-a-Hintのスタイル指定が正しく効くようになっていた。ひと月くらいアップデートしていなかったのでいつの間に直ったのかわからないけど。
これで、ユーザースタイルシートでフォントサイズを大きくするなんて面倒なことはせずに.vimperatorrcで設定できる。
set hintstyle+= font-size:15px;
こんな感じ。+を付けるとデフォルトの設定を上書きせずに値を追加できる。
- Comments: 0
- TrackBacks: 0
Macのアプリケーションアイコンを他のアプリにコピーする
- 2008年4月25日 17:22
- Mac
Gmailの閲覧環境をGmail BrowserからPrismに乗り換えた。
Prismが自動で作成するアイコンは(サイズ的にしょうがないんだけど)汚なかったので、Gmail Browserのアイコンを移植することにした。
Macでのアプリアイコンの移植はとても簡単で、情報を見る からコピー&ペーストできる。
- コピー元のアプリの
情報を見る - アイコンをクリックして選択
- Cmd-c でクリップボードにコピー
- コピー先のアプリの
情報を見る - アイコンをクリックスして選択
- Cmd-v でペースト
という手順でOK。
- Comments: 0
- TrackBacks: 0
カテゴリA以下のページで、Aのサブカテゴリのリストを並列に表示する
- 2008年4月25日 00:17
- Movable Type
- カテゴリA以下のページでは常に表示する
- 公開済みの記事があるサブカテゴリのみ表示する
- 公開済みの記事が一件も無い場合は完全に非表示になる
悩ましいのは最後のリストにclass="lastChild"とか付けたいんだけど出来ないこと。
<MTTopLevelParent>
<MTSubCategories include_current="1">
<MTSetVarBlock name="tmpCategoryCount"><MTSubCategories><$MTCategoryCount$><$MTSubCatsRecurse$></MTSubCategories></MTSetVarBlock>
<MTIf name="tmpCategoryCount" gt="0">
<MTSubCatIsFirst><div>
<h3><$MTCategoryLabel$>のサブカテゴリ</h3>
<ul></MTSubCatIsFirst>
<MTSubCategories>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></li>
</MTIfNonZero>
<$MTSubCatsRecurse$>
</MTSubCategories>
<MTSubCatIsLast></ul>
</div></MTSubCatIsLast>
</MTIf>
</MTSubCategories>
</MTTopLevelParent>
MTSubCategories では記事が一件もないカテゴリでも出力してしまう。単純に<MTIfNonZero tag="MTCategoryCount">だけ使うとヘッダとフッタ部分を非表示にできないので、
<MTSetVarBlock name="tmpCategoryCount"><MTSubCategories><$MTCategoryCount$><$MTSubCatsRecurse$></MTSubCategories></MTSetVarBlock>
でサブカテゴリの記事件数を出力。
カテゴリ分くりかえすので 0120112 とか辺な数字になるけど気にしない。
<MTIf name="tmpCategoryCount" gt="0">
として、0より大きかったら実行する。
- Comments: 0
- TrackBacks: 0

