AlfredWorkflowで遊ぶページ

Lesson32.ListFilterを使ってみる

開発メモ

ワークフロー

1.LitsFilterってなんだろう

 ListFilterもScriptFilter同様にAlfredの出力を行うものです
 Alfredに何か入力したら、それに反応して表示される行フォーマットのあれです
 ScriptFilterはその名の通りスクリプトで動的に出力フォーマットを作成しますが
 ListFilterは静的に設定パネルで作成します
 具体的には、RSSみたいに刻々と変化する情報をインターネットから取得する場合は
 ScriptFilterが適しています。一方、定型的な操作はListFilterが適しています

2.フローの構成

 今回は、ListFilterとScriptFilterを2段構えで利用します
 題材はよろず投稿サイトのnote.com。色々なアクセス方法があるので、
 そのアクセス方法や一覧をListFilterで提供して、個々のページへの
 アクセスをScriptFilterで実現します
 別の言い方をすれば、トップページと第1階層のページをListFilterで、
 第2階層以下をScriptFilterで提供するというイメージでもよいかと思います

3.ListFilter

 ListFilterは設定パネルで作成します
 すでにJson出力フォーマットを知っている方には理解しやすいとおもいます
 出力フォーマットの要素で言えば、title,subtitle,arg,iconをGUIで設定すればOK 
 今回argについては任意の数字を設定していて、後続で稼働する
 ScriptFilterの振り分けをしています
 

4.ScriptFilterの振り分け

 後続のScriptFilterは、それぞれソースコードが変わるので個々に作成しています
 そのためConditionalユーティリティでフローを分岐させています
 
 ArgandValsユーティリティがあるのは、標準出力をクリアもしくは設定して
 ScriptFilterが表示される際のデフォルト文言をコントロールするためのです

4.ScriptFilter

 ScriptFilterは、今までのLessonと同様の作りです
 ・cURLで該当ページのソースを取得
 ・ソースを解釈して、必要な要素を配列に格納
 ・AlfredのJson出力フォーマットを作成
 という感じ
 なお、ヘルプセンターについては、ヒアドキュメントで作っています
 サンプルとして検索とヘルプのScriptFilterを載せます
 ScriptFilter(検索)
 
 ScriptFilter(ヘルプセンター)
 

背景

 ListFilterのサンプルを作ろうと試行錯誤しました
 定例作業的なものだと、あまりに個人的なローカルサンプルになりだし
 そもそも私のmacはインターネット閲覧と写真編集しかしてないですし
 そんなおりnote.comを発見
 検索での閲覧、カテゴリーからのアクセス、タグからのアクセスなど
 いろいろなアクセスが整理されていたので取り上げました

取扱説明

機能:

 Note.comサイトの投稿記事を閲覧する

インストール:

 1.alfredworkflowをダウンロード
 2.ファイルをダブルクリックしてワークフローに登録

使い方:

 Alfredからキーワード『note』で起動

トップページに戻る