AlfredWorkflowで遊ぶページ

Lesson15.Arg and Varsオブジェクトの変数を動的にセットする

開発メモ

ワークフロー

1.テキストファイルのタイトルに日時を使う

 全てスクリプトでも良さそうですが、Alfredワークフローの機能で実装してみました
 ArgandVarsオブジェクトで変数としてファイル名を定義すればOKです
 
 Name欄:filename
 Value欄:source-{date:YYYYMMdd}-{time:hhmmss}.txt

 Value欄は{}で動的な文字列をセットすることができます
 {query}とすれば直前のオブジェクトの標準出力が使えます(簡単にいうとechoしたもの)   
 上記のように{date}や{time}は:のあとにフォーマットを記述できます

 セットした結果は、ワークフローでは{var:filename}として利用できます
 (スクリプト内では$filenameとして利用)

2.Safariで閲覧しているURLからソースを取得する

 URLはアップルスクリプトで取得します
 今回は、cURLで処理できるように、feed://を削除しています

 url=`osascript -e 'tell app "safari" to get the url of the current tab of window 1'|sed  's/feed://g'`

3.終了タグで改行する

 出力用の整形として終了タグで改行するようにしました
 具体的には、終了タグ”>”と開始タグ”<”の間に改行”\n”を挿入しています
 また、テキストファイルの先頭に取得したURLを表示させています

 echo -e "curl -sL "$url"\n\n"$res | sed 's/> </>\'\n' </g'

背景

 LESSON13のRSSマニアで数多くのRSSやHTMLのソースを解析したのでソースを表示する
 ツールを作ってしまいました
 このワークフローのアイコンは、もちろん、ソースがビュー
 

取扱説明

機能:

 RSSやHTMLのソースをテキストファイルに保存する

インストール:

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

使い方:

 ソースを見たいページを開いてHotkey(⌘U)を押す
 (Hotkeyはご自身で設定が必要です)
 feed:ではじまるURLでSafariが表示できない場合でも、ソース取得可能です

修正履歴

ver1.1(2021-04-04):

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

トップページに戻る