Alfredで自分のはてブデータを取得して絞り込んで検索できるWorkflowを書きました。

screenshot

このWorkflowはNode.jsでAlfred Workflowを書けるalfyというフレームワークを使っています。 そのため、npmでWorkflowをインストール、更新できます。 (必然的にNode.js環境が必要です)

インストール

npm install --global alfred-hantebookmark-mydata

設定

どのはてなアカウントのブックマークを検索するかの設定が必要なので、Workflowの設定からHATENA_ACCOUNT_NAMEという変数に自分のアカウント名を入れる必要があります。

  1. Open workflow settings
  2. Set Your hatena account name to HATENA_ACCOUNT_NAME

setting

制限

alfyは基本的に一度きりの実行を想定した作りになっているようです。 なので、入力 -> Nodeでスクリプトを実行 -> 結果を表示の一回だけで終わってる感じです。

ほしかったのは、スクリプトを実行 -> 結果をAlfredで絞り込み という感じのものでした。

Script FilterMatch Modeを使うとそれが実現できる(このWorkflowもこれ)のですが、このMatch Modeのフィルタリングは日本語に対応してない感じがします。

境界となる文字列が記号やスペースのみとなっていて、その結果に対して先頭からのマッチのみなので、必然的に日本語だと上手くマッチしない問題があります。形態素解析とかして分解すればいいのですが、処理時間的に現実的じゃない感じがしました。(差分更新、キャッシュを上手く使えばできそうな気がするけど、PR歓迎)