AlfredWorkflowで遊ぶページ

Lesson20.テキストファイルを行ごとに配列に読み込む

開発メモ

ワークフロー

1.名言追加

 指定のHotkeyを押すと、その時選択している文字列を名言としてファイルに追加します
 名言のファイルには1行に1つの名言と出典を保管するのですが、出典(人名)はユーザーに
 記入してもうらことにしました
 記入が必要になるので、名言はテキストファイルの1行目に追加しています
 (最後に追加すると、出典を書くためにスクロールが必要となる場合がでてきますので)

 1行目への追加は、割と単純なロジックです
 一旦ファイルから全データを変数に読み込んで、catで出力する時に
 今回追加するものを1行目に、その後に読み込んだ全データを出力させています

 出力後にファイルをオープンして、記入してもらうスタイルにしています
 ちょっと効率が悪いかもしれませんね  

 

2.ランダム表示

 今回は、Randomユーティリティを使わずにスクリプトで作ってみました

 名言のリストは1行に1名言という形式にしていますので
 ランダム表示の前提として、行ごとに配列に読み込ませています
 そのため、区切り文字(IFS)を改行に変更しています


 ランダムな選択は$RANDOM変数を名言の件数(読み込んだ行数)で割算した余りを
 利用しています
 なお、zshにしているので、最小値が1となるようにしています

 最後に、PostNotificationオブジェクトに送るときに、『(』で改行しています
 ランダム表示関連の制御ではないですが、名言収集の際に選択中のテキストがない場合には
 エラーをPostNotificationで通知するようにしています

 

背景

 Lesson13のFavorite Pagesワークフローからの派生です
 お気に入りサイトではなく、お気に入り言葉にしてみました

取扱説明

機能:

 自分で集めた名言をランダムに表示

インストール:

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

使い方:

 Hotkey『⌥M』で選択中のテキストを名言集に登録(出典の記入が必要)
 (ホットキーはご自身で設定が必要です)
 キーワード『meigen』を入力すると、自分で集めた名言をランダムに表示


トップページに戻る