Lesson28.ワークフローをの分岐を統合する
ワークフロー
植物Q&Aのトップ
Q&Aの一覧が表示されています。回答日が最新の順番になっているようです
3226件という総数、一覧の明細が20行、ページしたのインジケーターの最大が162ページ
わかり易いですね
一覧の明細には4桁のIDがありますが、こちらは登録日順で、歯抜けもあるようです
個々のQ&AのURLは https://jspp.org/hiroba/q_and_a/detail.html?id=xxxx
IDがわかれば簡単にURLを生成できますね
ワークフローを考えましょう
HOTKEYスタートで選択中のテキストがある場合はそのテキストでQ&Aを検索
選択中のテキストがない場合は、トップページから最大ページを取得して、
ランダムな1ページを選んで、そのページの目次をAlfredに表示させるという感じ
HOTKEYでselection in macOSを取得して、conditionalユーティリティを使って{query}の
有無を判定します
選択テキストがない場合は、20行のQ&AをリターンさせるためScriptFiltetに処理を渡します
選択テキストがある場合は、RunScriptでURLを組み立てています
(OpenURLでもできますが、今回はOpenURLをひとつにしています)
RunScript
ScriptFilterの中身となる部分ですが、他のRSS系のLesson同様の作りで
cURLでソースを取得、grepやsedで必要部分の抽出、Jsonの作成の流れです
今回は最初に目次ページの最大数を取得するのでURLアクセスが1回多くなっています
ソースにコメントがあるので参考にしてください
ScriptFilter
最後のOpen URLは分岐した2つのフローを同時に受けています
こんなフローも描けるということで実装してみました
このためOpenURLで実際にアクセスするURLは{query}として、事前に組み立てています
以前から、alfredのfeaturesのカスタムサーチとして、下記のURLでの検索を登録して
いました
https://jspp.org/hiroba/q_and_a/?key={query}&target=full
今回ランダムサーチも付け加えてワークフロー化してみした
日本植物生理学会のHP『みんなのひろば』の植物Q&Aを検索もしくはランダム表示する
1.Alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
・文字列を選択してHotkey『⌃p』を入力(Hotkeyはご自身での設定が必要です)
・表示されたAlfredバーに数字を入力
トップページに戻る