AlfredWorkflowで遊ぶページ

Lesson16.出力フォーマットへランダムにセットする

開発メモ

サンプル動画 ワークフロー

1.HTMLをパースしない

 『トリビアの泉パーフェクトデータベース』を見つけた時に
 Lesson14のRSSマニアライクなワークフローを作ろうと思い立ちました
 ただ、この番組はもう終わっていて、トリビアの追加もないので
 全てのトリビア1029個をスクリプトに埋め込みました
 そう、おバカスクリプトです
 文字列をスペース区切りで書いて、()で括って、配列に格納しています

2.ランダムに9件を選んでAlfredフォーマットに出力する

 shufコマンドを利用します。ない方はインストールしてください
 またインストール先をScriptFilterの先頭部分のPATHに定義してください
(私はhomebrewでインストールしています)

 shufコマンドはシャッフルの意味です
 下記は0から1028までをシャッフルして先頭の9個をix配列に格納します

 ix=(`seq 0 1028| shuf| head -n 9`)


 後は配列ixの要素を回してJSONをセットしています
 ※ver1.2でzsh化する際に1から1029に変更
 
 ScriptFilter(先頭部分)
 
 ScriptFilter(最後部分)
 

取扱説明

機能:

 トリビアの泉のランダム表示
 元ネタは、トリビアの泉パーフェクトデータベースから取得しました

インストール:

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

使い方:

 キーワード『trivia』で起動

修正履歴

Ver1.1(2021-03-28):

・ScriptFilterのJSONフォーマットの編集をワンライナーから1行1プロパティーに変更

 修正前

 json=$json'{"title":"'${title[i]:0:24}'","subtitle":"'${hee[${ix[i]}]}'","arg":"'${link[i]}'"}'

 修正後

  json=$json'{"title":"'${trivia[${ix[i]}]:0:24}'",'
  json=$json'"subtitle":"'${hee[${ix[i]}]}'",'
  json=$json'"arg":"'${trivia[${ix[i]}]}'"}' 

・ソースとは関係ありませんが、サンプル動画を投稿

ver1.2(2021-04-04): シェルスクリプトをbashからzshに変更

トップページに戻る