前に、
でやったオートディスカバリをdel.icio.usやはてなブックマークからやってみた。
設定はこんな感じ。
SBM2OPML.yaml ( globalは省略 )
plugins:
# del.icio.us
- module: Subscription::Bookmarks
config:
browser: Mozilla
path: /path/to/delicious.html
# Hatena Bookmark
- module: Subscription::Bookmarks
config:
browser: Mozilla
path: /path/to/hatena-bookmark.html
- module: Filter::Rule
rule:
module: Deduped
path: /tmp/var.db
- module: Publish::OPML
config:
filename: /path/to/SBM.opml
使っているSBMがdel.icio.usとはてなブックマークなので、それらからMozilla形式でエクスポート、 それを購読してOPMLを出力する、という感じ。
たまにPlaggerがエラー吐いて停止するサイトとかあるので、そういうのに遭遇した場合、 Aggregator系のプラグインにruleを指定して、そういうサイトを除外するようにすると問題なくなる。
ただ、Plaggerが読み込んだURL-Aから見つかったFeed(URL-B)に問題があった場合、 URL-Bを除外するようにしても何故か除外できなかったので、発見元のURL-Aを除外する必要がある。 なので、問題があったFeedの前のURLも注意したほうが言いかもしれない。
今回抽出できたFeedは全部で360件で購読していたのが217件、最終的に購読したのが12件だった。 まあ今回はそれなりに収穫があったと思う。 ちなみに全部購読したらLivedoorReaderの未読がすごいことになりました。
で、まあ、今回は一発でできたんだけど、エクスポートされる形式がRSSやAtomなんかのFeedだと 一発でできなかったりする。
そういう場合、まず最初にFeedからブックマークしたエントリのURLを抽出して、 次に抽出したURLの一覧からFeedを探し出すと言う風になる。
つまりこういう感じ。
SBM2EntryList.yaml ( globalは省略 )
plugins:
- module: Subscription::Config
config:
feed:
- url: file:///path/to/export.rss
- module: Publish::File
config:
filename: /path/to/entry_list.txt
EntryList2OPML.yaml ( globalは省略 )
plugins:
- module: Subscription::File
config:
file: file:///path/to/entry_list.txt
- module: Filter::Rule
rule:
module: Deduped
path: /tmp/var.db
- module: Publish::OPML
config:
filename: /path/to/SBM.opml
Publish::FileについてはPlagger::Plugin::Publish::Fileを参照。
ちなみにFeedのエントリのリンクがブックマークしサイトのURLなら問題ないんだけど、 はてなブックマークのRSS/Atom Feedみたいにそうなってない(Plaggerで扱うとはてなブックマーク内のリンクになってる) 物だとうまくいかない、けど多分大体のSBMでうまくいくんじゃないかと思う。
思ってるだけで実際にはやってない(そもそもそういうタイプのSBMは使ってない)ため、 ちゃんと動くかどうかは知らない。当然エクスポートできないサイトだと無理。あくまで参考程度に。
今回は前にやったブラウザからのオートディスカバリよりもうまくいった。 多分量が少なかったとかあるだろうけど。
とりあえず膨大な未読をなんとかしよう。