AlfredWorkflowで遊ぶページ

Welcome to My GitHub Pages


コロナのお家時間で、Alfredワークフローを始めました
大した物ではないけど、サンプルを公開します
私がAlfredやシェルスクリプト初心者なので、皆さんの参考になれば幸いです
各レッスン(?)の開発メモを残していますので、青字のリンクから飛んでみてください
また、表のワークフロー画像をクリックで拡大できます

特に予定していたわけではないですが、一通りのレッスンは完結とします
気が向いたら更新はつづけますけど・・ 2021.07.11

Alfred Workflow Examples

2021/02/14 Lesson1.初めてのワークフロー
ソースコードレス・ワークフロー。練習作です。Githubの練習も兼ねて作ってみました。サンプルワークフローのGoogle SuggestをHOTKEYで起動します
2021/02/14 Lesson2.入力パラメータを利用してURLを組み立てる
Google Timelineを日付指定で開きます。Alfredとしてパラメータを受け取り、URLを生成します。URLのパラメータを設定する最もプリミティブなワークフローの例。キーワードが英語でも日本語でも”発火”します。勝手にバイリンガル起動と呼んでいます
2021/02/19 Lesson3.選択中のテキストを{query}にする
{query}というのはAlfred workflowの受け渡しです。シェルスクリプトを扱う方には受け渡しというより標準出力という方が通じるかな。選択中の文字列を受け渡すことで、ソースコードレスとなります。その受け渡したキーワードでTripadvisorを検索します
2021/02/20 Lesson4.シェルスクリプトでURLエンコードする
価格コムをキーワード検索します。nkfコマンドによる%エンコードを実装しています
2021/02/20 Lesson5.複数のパラメータを利する
ジョルダンの乗り換え案内を検索します。出発駅、到着駅、到着時間という複数のパラメータに対応しています
2021/02/20 Lesson6.Alfredの出力フォーマットを試してみる
Tips3でgoogle suggestを解析したら、Alfredの出力xmlを使っていることがわかりました。Alfredのサンプルを見て真似してみました。JSON出力フォーマットを利用しています
2021/02/27 Lesson7.MXLをパースする
Yahoo!みんなの意見のRSS表示ワークフローです。AlfredのJSON出力フォーマット出力の利用やRSSファイル(XML)のパースと要素の抽出などを実装しています
2021/03/02 Lesson8.RSSニュースを検索する
GoogleニュースRSSのキーワード検索です。Lesson7の変形です
2021/03/07 Lesson9.ブラウザからURLを取得する
ブラウザで開いているページを翻訳します。コアはgoogle translateです。ブラウザから情報を取得するためシェルスクリプトからappleスクリプトを実行しています。もとはconditionalユーティリティとクリップボードを扱うサンプルとして作ったものです
2021/03/13 Lesson10.TVのリモコン
 ★おすすめ★ AlfredでTVを操作します。コアはNatureRemoのAPIです。エキスポート禁止の変数の使い方のサンプルとなります。『TV ++』という入力でテレビのボリュームを2つ上げることができます。なかなか面白いかも。もちろんスクリプトを改造すれば、TV以外のリモコンにもなりますよ
2021/03/13 Lesson11.ローカルファイルを利用する
Joe SchmoeのAPIを利用してアバターを作成します。リターンされるアバター画像からhtmlを生成してローカルに保存します
2021/03/14 Lesson12.randomユーティリティを使用する
 ★おすすめ★ ウィキペディアのおまかせ表示が興味のない記事ばかりという方におすすめ。カテゴリー内の記事をランダムに表示させることができます。つまり自分の興味のあるカテゴリを指定すれば、関心のある記事のランダム表示が可能になるのです。randomユーティリティを利用したコードレスワークフローです
2021/03/20 Lesson13.randomユーティリティの選択肢を動的に設定する
お気に入りのURLを保存しておき、好きな時にランダムに表示させるお遊びワークフローです。randomユーティリティのワードリストを外部ファイルから動的に作成しています。またNotificationに渡すメッセージをArg and Varsでセットしています
2021/03/20 Lesson14.RSSやHTMLをパースする/出力する一覧をコントロールする
 ★おすすめ★ 多数のRSSをAlfredに出力するおもちゃ、その名もRSSマニアです。パラメータの文字数で記事一覧のページ替えをコントロールしています。Alfredのインクリメンタルサーチと紐づいて、いろいろと応用が効く使い方だと思います
2021/03/21 Lesson15.Arg and Varsオブジェクトの変数を動的にセットする
RSSやHTMLのソースを表示させるツール『ソースビュー』です。ソースはテキストファイルとして保管します。その際、ファイル名に使う日時をArg and Varsオブジェクトで設定しています
2021/03/21 Lesson16.出力フォーマットへランダムにセットする
伝説の雑学番組トリビアの泉の雑学をランダムに表示します。ツールではインターネットアクセスしていませんが、元ネタはこちらhttps://www.noncky.net/trivia/
2021/03/28 Lesson17.Alfred環境変数を使ってカスタマイズ設定を可能とする
なぞなぞを出題するお遊びワークフローです。1度に出題する問題数や、出題したなぞなぞを保存する場所をカスタマイズできます。なぞなぞサイト『なぞQ.com』からの出題です
2021/04/04 Lesson18.別のワークフローを呼び出す
 ★おすすめ★ Lesson10でNatureRemoのAPを使ってTVを操作するワークフローを作成しましたが。今回はその入口にTV番組表を追加しました
2021/04/11 Lesson19.ホットキーツールを作成する/後続フローを二股にする
選択しているテキストによってURLをOPENしたり、TERMINALで実行したり、ブラウザで検索したりします。勝手に『クイックターミナル』と名付けました。Hotkey起動時の選択テキストの連携や、Colditionalオブジェクトのgrep判定の機能をつかいます。ターミナルでの実行とクリップボードへのコピーは後続フローを二股にして非同期に処理しています
2021/04/17 Lesson20.テキストファイルを行ごとに配列に読み込む
ネットサーフィンなどでみつけた名言を保存するツール『自分で集める名言集』です。Alfredの機能ではないですが、テキストファイルの読み書きの小技を使っています。1行目に書き出したり、行単位に配列に読み込んだりしています
2021/04/24 Lesson21.『アレクサ、うんちく教えて』をワークフローにする
お遊びで、アレクサの真似をしてみました。『うんちく教えて』でも、『雑学教えて』でも、『豆知識教えて』でも起動するマルチキーワード構造です
2021/05/01 Lesson22.スクリプトフィルターとキーワードをハイブリッドにする
NatureRemoのAPIを利用してエアコンを操作します。Lesson10と18でテレビを操作しましたが、今回はエアコンです。室温や湿度を確認できます
2021/05/08 Lesson23.スクリプトフィルターをワークフローの途中で使う
ランダムにamebaブログのRSSを読み込んで記事一覧を表示させます。Lesson14のRSSマニア等の変形です。スクリプトフィルターがワークフローの途中でも利用できることがわかったのでまた用途が広がりますね
2021/05/16 Lesson24.Alfredの出力を10件以上に設定する/濁音・半濁音検索に対応する
NHKレシピサイト『きょうのみんなの料理』の検索結果を表示させています。また、作成中に判明した、濁音・半濁音を含む検索にも対応しています
2021/05/22 Lesson25.スニペット起動を使ってみる
ワークフローのトリガーにスニペットがあったので気になって使ってみました。スクリプトフィルターとあわせて引数を受け取る機能を実装しています。スニペットのキーワード『.now』で整形した日時のバリエーションを表示します
2021/05/29 Lesson26.四字熟語であそんでみる
今回はレッスンとして目新しいものはないです。。。難読四字熟語をランダムに表示します。元ネタは、『Yattoke! - 小・中学生の学習サイト』の難読四字熟語一覧です。暇つぶしにどうぞ
2021/06/06 Lesson27.ワークフローを放置する
conditionalユーティリティで条件を設定するものの一部の条件には後続を描かずに放置する例です。こんな使い方もできるのかなというノリで見てください。題材としては、テキストのn文字目やn行目を検索するツールを作成しています
2021/06/12 Lesson28.ワークフローをの分岐を統合する
ワークフローで分岐した2つの流れを、ひとつのオブジェクトで受け取ります。Alfredワークフローの柔軟性というか自由度の高さのサンプルです。日本植物生理学会のHP『みんなのひろば』の植物Q&Aを検索もしくはランダム表示します
2021/06/19 Lesson29.Alfredのファイルアクションを使ってみる
タイトルの通りAlfredのファイルアクションのワークフローです。Alfredはファイルオペレーションをサポートしていてワークフローなしでも便利に使えます。機能としては、画像ファイルをLuminarAIで開くという単純なものです
2021/06/27 Lesson30.GitHubのHPを作ってみる
Alfredのレッスンとして目新しいものはないです。。。題材は、裏技サイトをパースして、3アイテムをランダムに表示させています。トップページ以外もGitHubで作ってみましたので作り方をレッスンとします
2021/07/04 Lesson31.NatureRemoでダイソン空気清浄機を使う
Alfredのレッスンとして目新しいものはないです。。。NatureRemoとの連携の第3作目となります。今回はダイソン空気清浄機。ダイソン謹製のスマホアプリもあるのですが、キーボード操作ができるAlfredで実装してみました
2021/07/11 Lesson32.ListFilterを使ってみる
ListFilterのサンプルです。ScriptFilterと組み合わせて使っています。よろず投稿サイトのNote.comをキーワード検索したり、人気タグやカテゴリーからアクセスしたりしています
2021/09/25 Lesson33.スクリプトフィルターを2段階で使う
ScriptFilterを2段構えで使っています。雑学サイトのGaku-Sha.comをランダムに表示させます
2022/02/13 Lesson34.グーグルサジェストを使う
ふたたびのグーグルサジェスト登場です。Montereyにしたためか、googlesuggestのphp動かなくなりました。そこでコア部分をシェルスクリプトにして作成してみました
2022/02/23 Lesson35.今日のクイズを出題する
その日にちなんだクイズを出すサイト今日のクイズからランダムに出題します




Tips

ワークフロー作成時のもろもろです
2021-02-14 Tips1.alfredworkflowファイルの作成方法
2021-02-14 Tips2.ワークフロー用透過アイコンの作成方法
2021-02-20 Tips3.Google suggest ワークフローを解析してみる
2021-03-13 Tips4.Mighty Optical Illusion のおまかせページを翻訳する
2021-04-04 Tips5.デスクトップ操作を録画する方法
2021-04-04 Tips6.シェルスクリプトをbashからzshに変更する

環境

2021年2月〜 Macbook Air (M1,2020) OSX 11.1 (BigSur) Alfred4 & Powerpack
2022年2月〜 Macbook Air (M1,2020) OSX 12.1 (Monterey) Alfred4 & Powerpack
2022年7月〜 Macbook Air (M1,2020) OSX 12.1 (Monterey) Alfred5 & Powerpack