AlfredWorkflowで遊ぶページ

Lesson13.randomユーティリティの選択肢を動的に設定する

開発メモ

ワークフロー

1.フローデザイン

 ・キーワード起動の引数によって、登録、編集、表示をそれぞれ処理する
 分岐を担うConditionalは下記の通り引数{query}を評価して分岐させています
 
   
 実装で利用した細かな手法
 ・登録するURLはSafariから取得する
 ・PostNotificaftionに2つのパラメータを渡す(標準出力以外の受け渡しとして変数を使う)
 ・Randomユーティリティのリストをファイルから読み込み動的に設定する
 
 実装できなかったもの
 ・Alfred環境変数で設定したホームディレクトリ’~’がRunScriptでうまく稼働しない。。。

2.PostNotificaftionに2つのパラメータを渡す

 AddLisitの流れを見てください(赤いフロー)
 タイトル取得用とURL取得用として2つRunScriptを配置しています
 はじめのRunScriptでHPのタイトルをechoで標準出力して、ArgandVarsユーティリティで
 その内容を変数titleに格納します(後で通知に利用します)
 
 RunScript
 
 ArgandVars
 
 
 次のRunScriptでは、表示しているURLをechoで標準出力して、
 AppendtoFileでテキストファイルに追加します
 
 RunScript
 
 AppendtoFile
 
 
 URLをAppendtoFileオブジェクトでテキストファイルに追加した後に、PostNotificaftionで
 メッセージを表示させます。このとき
 テキストファイルの場所は、AppendtoFileオブジェクトの標準出力の{query}
 サイトのタイトルは、ArgandVarsで設定した{var:title}を使用しています 
 PostNotificaftion
 

3.ファイルを編集させる

 EditLisitの流れを見てください(白いフロー)
 お気に入りURLのリストを編集させるためにデフォルトアプリで開きます
 
 OpenFile
 

4.Randomユーティリティのリストをファイルから読み込み動的に設定する

 黄色い部分のフローです。
 Lesson12のウィキペディアおまかせ表示では、あらかじめリストを準備しましたが、
 今回はファイルから読み込んで動的にセットします
 
 Randomユーティリティを見てください
 Random:としてword from listを設定してWords:の一覧には{query}とあるだけです
 
 そうです。このオブジェクトの前段のフローであるRunScriptの標準出力にリストを
 書き出してセットするのです
 ではそのRun Scriptを見てみましょう(黄色いRunScriptです)
 
 実はとてもシンプルで、ファイルの内容をechoしているだけです
 こうすることで、ファイルに登録されたテキスト(URL)が全てRandomユーティリティの
 リストにっなるっていう寸法さ
 
 
 
 でもなぜか、workflowの環境変数では”~”をセットしてもうまく動きません
 ”Users/…“と書けば環境変数でも使えましたが、その場合配布した先の環境では
 ホームディレクトリの名称が私のものとは違うのでうまく動かないでしょう
 仕方なくスクリプトの中で直接”~”を書いています
 
 Randomユーティリティのリスト自体がURLですので、あとはOpenURLオブジェクトで
 表示させればOKです
 

背景

 Lesson12のおまかせウィキペディアを作成した際に、ウィキペディアの高度な検索結果を
 表示させたいと思いました
 例えば『ウィキペディアのタイトルに”効果”か”現象”を含む記事を更新が新しい順に検索』
 みたいな。でもこの場合、フィードバックとしてLargeTypeするURLが見ただけではわからず
 あまりふさわしくない感じでした
 そこでこのワークフローを思いつきました
 お気に入りページというか、面白いと思った記事を保存して、後で適当に読むというような
 利用を想定しています

取扱説明

機能:

 お気に入りページの登録・ランダム表示

インストール:

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

使い方:

 キーワード『favo』で起動
 以下のパラメータを指定できます
 パラメータなし → 追加したページをランダムに表示
 aもしくはadd  → Safariで閲覧しているページをテキストファイルに追加
 eもしくはedit → 追加したテキストファイルを表示(リストの修正や削除ができます)

動き方:

 1.テキストファイル(~/Documents/Alfred/favo/favolist.txt)にURLを
  保存します(1行に1URLとして記述)
 2.ファイルの登録内容を読み込みランダム表示

修正履歴

ver1.1(2021-04-04):

 シェルスクリプトをbashからzshに変更しました

トップページに戻る