Alfredで「自分のブログ内検索」を行う簡易的なWorkflowの作り方
以前、「自分のブログ内検索」を行うWorkflowをコードを書いて作る方法を記事にしたことがあります。
入力したキーワードに関する記事がリアルタイムに返ってきて、自分のブログ内を検索できるので非常に重宝しているのですが、作る上でいくつか問題もあります。
- コードに関する知識が必要
- ブログの情報を取得するAPIが用意されている必要がある(WordPressの場合はWP REST APIがデフォルトで入っている)
- 作るまでが面倒
というわけで今回は、もう少し簡単に「ブログ内検索」を行うWorkflowを作ってみようと思います。
Workflowを作らない選択肢
そもそも、Workflowを作らなくともAlfredのWeb Search機能を使うのも1つの手かもしれません。
キーワードの設定も好きにできるので、この方法がおそらく1番手軽で難易度も低い方法になります。
Workflowを作りたい場合
Workflowを作る場合は下記のようなメリットがあります。
- 複数サイトの検索が可能
- 間に処理を挟んだりできる
- 他のWorkflowと一緒に、Workflowとして管理できる
自分のブログ検索はよく使うので、これくらいの手間はかけていいように思います。
Workflowの作成
まずはAlfredの環境設定の[Workflows]のサイドバー下の「+」ボタンを押し、「Blank Workflow」をクリックして必要情報を入力します。
今回の場合はブログ内検索を行うWorkflowなので、名前は「Blog Search」としておきます。
検索部分の設定
黒い背景部分を右クリックして、[Inputs]→[Keyword]を選択します。
Keywordの設定パネルが表示されるので、必要となる情報を入力して「Save」を押します。
Keywordは「Blog Search」の頭文字をとって「bs」と設定しておきます。
URLを開く部分の設定
Keywordの右横にあるポッチをクリックして[Actions]→[Open URL]を選択します。
このWorkflow Objectを使うと、指定したURLをブラウザで開けますし、カスタム検索機能と同じように{query}
と入力した部分には、1つ前のKeywordで入力した値が入ります。
あとは検索ページ用のURLを入力して、検索キーワード部分には{query}
を入力するだけです。
いくつか検索ページ用のURLのサンプルを用意したので、参考にしてください。
サイト | 検索ページ用URL | 備考 |
---|---|---|
WordPress | https://[サイトURL]/?s={query} | |
note | https://note.mu/search?context=note&mode=search&q=[note ユーザーID]%20{query} | ユーザー専用の検索ページはないので、 全体検索を使って、ユーザー名とキーワードで絞り込んでいます |
はてなブログ | https://[ブログURL]/search?q={query} | |
ライブドアブログ | https://[ブログURL]/search?q={query} | |
Ameba | https://search.ameba.jp/search/entry/{query}.html?aid=[ブログID] |
複数サイトの検索を使い分けたい
ここから先は必要な人のみの設定になりますが、Keywordの右横にあるポッチをクリックして[Open URL]をもう1つ選択して、別のサイトのURLを設定します。
こうすると、Keywordに対してOpen URLが2つに枝分かれしている状態になります。
この状態で、片方の伸びている線をダブルクリックすると、Workflow Objectの条件分岐設定ができます。
「Action Modifier」で「Command」にチェックをいれ、必要に応じて「Modifier Subtext(設定した修飾キーを押したときにサブテキストが変わるようになります)」を設定して「Save」を押します。
最終的に下の画像のように、枝分かれしている片方にcommandが設定されていればOKです。
今回の場合は普通に検索すると自分のブログの検索ページが開き、commandを押しながら検索するとnoteが検索されるようにしてみました。
まとめ
自分は備忘録として色んなことをブログに書くようにしていますし、他人に何か聞かれたときに過去の記事URLを送ることも多くなってきたので、コードを書いて検索しやすいようにしています。
ただ、そこまでする必要のない人は、今回のように簡単なWorkflowを作っておくだけでブログを更に活用できるのではないでしょうか?