0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AlfredのWorkflowを使って、今日の日付入りのScrapboxページを開く

Last updated at Posted at 2021-02-07

皆さん、Alfredというアプリケーションをご存知ですか?
MacOSの生産性アプリの代表格のAlfred。そのAlfredには様々な機能があります。
その中でもPowerpackという有料のライセンスを購入したら使えるWorkflowという機能。
このWorkflowを使うとルーティンとしてやってる作業がキーボード上で完結できるので、生産性が物凄い上がります。

今回はこのWorkflowを使い、今日の日付入りのScrapboxが自動で開けるようにしたいと思います!

完成のイメージ

ff84344a7bfdd9acfde1e90bd74a7add.gif

注意

  • この方法はAlfred4を基準に作成されました。
  • Powerpack userではない場合、Workflow機能はご利用できません。

手順

1. 空のWorkflowを作る

AlfredのPreference(command + ,(カンマ))に入り、左側のサイドバーから「Workflows」をクリックします。
その後、左下の「+」ボタンから「Blank workflow」を選択し、空のworkflowを作ります。
76f563031535e826ded78ae3ff8b2b9d.gif
image.png

2. Workflowを実行させるキーワードを設定する

先ほど作ったworkflowをクリックすると、右側に空のキャンバスが現れます。
キャンバスを右クリックし、「Inputs」→「Keyword」 を選択します。
Alfred検索窓からこのWorkflowを呼び出す時に使うキーワードを設定できます。

※「No Argument」に設定した理由

  • workflowの目的が「今日の日付を自動で持ってきて、タイトルの形式を合わせたScrapboxページを開く」だけなので、他のinputは要りません。
    image.png
    image.png

3. 実行するスクリプトを作る

同じく、キャンバスを右クリックし「Action」→「Run Script」をクリックします。
下の画像のような画面が出るので、一旦「Save」を押しましょう。
(scriptの中身を完成したら、ここに実行のためのコマンドを入力します。)
image.png

4. 今日の日付入りのScrapboxページを開くPython Scriptを作成する]

python scriptを書く時に、こちらのWorkflow libraryがよく使われます。
https://github.com/deanishe/alfred-workflow
今回のworkflowもこのライブラリを活用して作ります。

4-1. Workflowにlibraryをインストール

作成中のworkflowを右クリックして「Open in terminal」クリックします。
image.png
現れたターミナルwindowに、以下のコマンドを打ち、実行させます

command
pip install --target=. Alfred-Workflow

下記のようなMessageが出たら、インストール完了です。

インストール完了メッセージ
Collecting Alfred-Workflow
Using cached Alfred-Workflow-1.40.0.tar.gz (92 kB)
Using legacy 'setup.py install' for Alfred-Workflow, since package 'wheel' is not installed.
Installing collected packages: Alfred-Workflow
Running setup.py install for Alfred-Workflow ... done
Successfully installed Alfred-Workflow-1.40.0

確認のため、「Open in terminal」と同じ方法で、「Open in Finder」をクリックします。
すると、このようにライブラリがインストールできたことを確認できます。
image.png

4-2. 実行するPythonファイルを作成

cotEditor(テキストエディターならなんでもOK)から新しい.pyファイルを作成します。
今回はファイル名はtodays_diary.pyにします。
空のファイルができたら、先ほどライブラリをインストールしたフォルダにtodays_diary.pyを置きます。
以下のようになればOKです。
image.png

4-3. Python Scriptの中身を入力する

todays_diary.pyの中身を入力します。
今回は**「yyyy/mm/dd 作業ログというタイトル形式を持つページがGoogle Chromeで開く」**コードを作成します。

todays_diary.py
# encoding utf-8

import sys
import webbrowser
from datetime import date, timedelta
from workflow import web, Workflow

def main(wf):
	project = 'my-project'#scrapboxプロジェクト名
	url1 = 'https://scrapbox.io/'
	url2 = '_%E4%BD%9C%E6%A5%AD%E3%83%AD%E3%82%B0'#'_作業ログ'のutf-8 coding ver.
	td = date.today()
	url_date = td.strftime("%Y/%m/%d")#日付を'yyyy/mm/dd'形式に変更
	url = url1 + project + '/' + url_date + url2
	chrome_path = 'open -a /Applications/Google\ Chrome.app %s'#Google Chromeで開くためのパス設定
	webbrowser.get(chrome_path).open(url)
	
	wf.send_feedback()

if __name__ == '__main__':
	wf = Workflow()
	sys.exit(wf.run(main))

5. キーワードとPython Script実行を繋ぐ

5-1. 「Run Script」で、todays_diary.pyの実行命令を作成

※ Python scriptの実行の方法は2つあります。
 1. Languageを「/usr/bin/python」にして、Python Scriptを直打ちする方法
 2. Languageを「/bin/bash」にして、shell script経由でPython Scriptを実行させる方法
 (当該のPython Scriptファイルはworkflowのフォルダ内に入っていなきゃいけない。)
今回は2の「shell scriptを経由する方法」で進めます。

「Run Script」をダブルクリックし、下の画像のように設定してください。
image.png

script.sh
/usr/bin/python todays_diary.py

5-2. キーワードとPython Script実行を繋ぐ

image.png

これで完成です。

日付ベースで作業ログや日報を書く場合、自動でフォーマットに合わせてタイトルをつけてくれるので、
かなり手間が減って生産性が上がると思います。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?