開発におすすめの Alfred Workflows ○○選

OS X 10.12.6, Alfred v3.4.1 で動作確認。
Powerpack を利用するワークフローも含みます。


## 補足

### Python library の影響でワークフローが動かなくなった

こちらを確認ください。

> * [This workflow contains a python library incompatible with macOS Sierra 10.12.4+ といわれて利用できない Alfred Workflow を直す方法 - Qiita](http://qiita.com/DriftwoodJP/items/63468223c63036d24a58)


### スクリプトの変更

インストール後に Alfred の管理画面から、下記のような Script Filter をダブルクリックし、

![ScriptFilter_01.png](https://qiita-image-store.s3.amazonaws.com/0/19223/c9f07c31-0e6b-6314-35f5-b9d9108c6f04.png)

表示されたウィンドウの下記アイコンをクリックすることで可能です。

![ScriptFilter_02.png](https://qiita-image-store.s3.amazonaws.com/0/19223/695bf73b-ab1e-ae9f-92f4-359aceb99a13.png)




## 辞書・翻訳系

### 辞書.app の検索

OS X の辞書アプリと連携。Alfred に機能として用意されている。
`Alfred Preference > Dictionary` から `d` で呼び出すように変更。

```
d {query}
```


### Google Translate

~~[Google Translate Alfred Workflow](http://www.packal.org/workflow/google-translate-alfred-workflow)~~ は [しばらく動かない状態](https://github.com/thomashempel/AlfredGoogleTranslateWorkflow/issues/32)が続いているため外した。

`Alfred Preference > Web Search` に標準で用意されている Custom Search を `t` で呼び出すように設定。

```
t {query}
```


### codic

[yusuga/alfred-codic-workflow](https://github.com/yusuga/alfred-codic-workflow)

[プログラマーのためのネーミング辞書 | codic](https://codic.jp/) というサービスを利用できる。

```
codic {query}
```

使い方メモ。

- メソッド名 - 動詞（〜する）で終える。
- Boolを返す - 「〜か」とする。
- 複数形 - 名詞の末尾に s を付ける。




## アプリ系

### Pocket

[Pocket for Alfred | Packal](http://www.packal.org/workflow/pocket-alfred)

呼び出しを `pocket` から `p` に変更。

```
p {query}
```

[Pocket: Developer API](https://getpocket.com/developer/) を利用しているため、最初にワークフローの認証が必要。
このため動作にローカルアプリの起動は必要ない。
うまく動かない場合は `p wf:deauth` を実行して認証し直すと良い。

V.6.0 から、Archive した item も検索できるようになった。

![alfred.png](https://qiita-image-store.s3.amazonaws.com/0/19223/24385155-0e03-1386-e7a7-e96afa7a17bd.png)


### Evernote

~~[Evernote](http://www.packal.org/workflow/evernote)~~ は動かなくなったため外した。
[Evernote Search | Packal](http://www.packal.org/workflow/evernote-search) が代わりとなりそうだが利用していない。


### Chrome Bookmarks

[Chrome Bookmarks | Packal](http://www.packal.org/workflow/chrome-bookmarks-0)

ブックマークを検索して開くことができる。
呼び出しを `,b` から `b` に変更。

```
b {query}
```

なお Safari は Alfred 標準機能（`Alfred Preferences > Default Results`）で検索対象に設定できる。


### Caffeinate Control

[Caffeinate Control | Packal](http://www.packal.org/workflow/caffeinate-control)

OS X の `caffeinate` コマンドのラッパー。
起動すると sleep しなくなる。

```
caff
```

こんな形で動いている。
option は config で変更（複数選択可）。

```
% ps ax | grep caffeinate
22621   ??  S      0:00.01 caffeinate -i
23551 s001  R+     0:00.01 grep caffeinate
```

これで Terminal のタブがひとつ減った！




## 検索系

### Google Suggest

Powerpack を購入すると `Workflows > + > Example` から追加できる。

![Kobito.NlSO9F.png](https://qiita-image-store.s3.amazonaws.com/0/19223/381a392e-838a-fddc-609a-fe1a137e5253.png "Kobito.NlSO9F.png")


```
g {query}
```

といいつつ、こちらを読むまで気づいていなかった。
日本語サジェストの設定方法も記載されている。
ありがとうございます。

> * [Alfred の Google Suggest を日本語モードにする ｜ Developers.IO](http://dev.classmethod.jp/tool/alfred-google-suggest/)
> * [Alfred2のWorflowsを自作して作業を効率化する | WEB EGG](http://leko.jp/archives/414)


### StackOverflow

[xhinking/Alfred](https://github.com/xhinking/Alfred) をインストール。

```
st {query}
```

[StackOverflow Search | Packal](http://www.packal.org/workflow/stackoverflow-search) と迷った。
検索結果のヒット数や表示形式で選定も、要確認。


### StackOverflow Japan

[xhinking/Alfred](https://github.com/xhinking/Alfred) のソースを見ると [Stack Exchange API](http://api.stackexchange.com/) を利用している。
これを複製し Script Filter から下記のように変更する。

> * [日本語版「Stack Overflow」のAPIを利用してみた！ : アシアルブログ](http://blog.asial.co.jp/1351)

```python
url = 'https://api.stackexchange.com/2.1/search/advanced?order=desc&sort=votes&site=ja.stackoverflow&q=%s' % theQuery
```

呼び出しを `stj` に変更。

```
stj {query}
```


### Qiita

[uetchy/alfred-qiita-workflow](https://github.com/uetchy/alfred-qiita-workflow)

Qiita の記事、ストックした記事の検索ができる！

[個人用アクセストークンを発行する - Qiita](https://qiita.com/settings/tokens/new) で得た値を `qiita setup` で入力しておく。

```
qiita search {query}
qiita stocks {query}
qiita my {query}
```

> * [Alfred Qiita WorkflowをGoで書き直した - Qiita](http://qiita.com/uetchy/items/eb85286b207807f09940)




## 開発系

### GitHub

[gharlan/alfred-github-workflow](https://github.com/gharlan/alfred-github-workflow)

いくつかあって迷った。
`gh > login` を最初に実行し、OAuth 認証を行う。

```
gh {command}
```


### Dash

Dash v2 からワークフローなしで連携できるようになったよう。
v3 でも動作する。

例えば Dash 側で ruby のドキュメントを `ruby:` で検索できるように設定すれば、下記で利用できる。便利！

```
ruby {query}
```


### Can I use...

[willfarrell/alfred-caniuse-workflow](https://github.com/willfarrell/alfred-caniuse-workflow)

[Can I use...](http://caniuse.com/) で HTML / CSS のブラウザサポート状況を検索。

```
caniuse {query}
```


### MDN Search

[MDN Search | Packal](http://www.packal.org/workflow/mdn-search)

[Mozilla Developer Network](https://developer.mozilla.org/ja/) の記事を検索。
search.php の2行目を下記に変更すると、日本語ドキュメントも検索対象に含めてくれる。

```php:search.php
$url = 'https://developer.mozilla.org/ja/';
```

```
mdn {query}
```


### Font Awesome

[ruedap/alfred2-font-awesome-workflow](https://github.com/ruedap/alfred2-font-awesome-workflow)

[Font Awesome Icons](http://fontawesome.io/icons/) のアイコンを検索。
結果はクリップボードにコピーされる。

```
fa {query}
```


### Encode / Decode

[willfarrell/alfred-encode-decode-workflow](https://github.com/willfarrell/alfred-encode-decode-workflow)

URL, HTML, base64 へ変換。
結果はクリップボードにコピーされる。

```
encode {query}
decode {query}
```


### Colors

[Colors | Packal](http://www.packal.org/workflow/colors)

16進コード, RGB値などに変換・一覧表示。
結果はクリップボードにコピーされる。

```
#{query}
rgb{query}
```

~~`c` を実行するとカラーピッカーが表示され、選択した色の各値が一覧される。~~
一部機能が動かなくなっているよう。


### BeautifulRatio

[BeautifulRatio | Packal](http://www.packal.org/workflow/beautifulratio)

入力した数値を長辺、もしくは短辺とした場合の黄金比・白銀比を計算してくれる。
結果はクリップボードにコピーされる。

```
br {query}
```


### Launch URL in 3 browsers

[Launch URL in 3 browsers | Packal](http://www.packal.org/workflow/launch-url-3-browsers)

URL を Safari, Chrome, Firefox でまとめて開く。

```
test {query}
```




## ネットワーク系

### Time Zone

[TimeZones | Packal](http://www.packal.org/workflow/timezones)

UTC や現地時間を調べる事ができる。

```
tz {query}
```


### IP Address 

[What's My IP | Packal](http://www.packal.org/workflow/whats-my-ip)

External IP は http://bot.whatismyipaddress.com というサービスに問い合わせ、Internal IP は `ifconfig | grep` したものを表示。

```
ip
```


### whois

[Whois | Packal](http://www.packal.org/workflow/whois)

`{query}` を http://whois.domaintools.com/ に渡してブラウザ表示。

```
whois {query}
```


### domainr

[dingyi/Alfred-Workflows](https://github.com/dingyi/Alfred-Workflows)

空きドメインの検索。
[domainr.com API](http://domainr.build/v2.0/docs) を利用した結果を表示。

```
domainr {query}
```




## まとめ

- 呼び出しを忘れそう。`.` などで始めた方が使いやすいのかも。
- Woekflow を追加していくと、iOS アプリの [Alfred Remote](http://lifehacking.jp/2015/01/alfred-remote/) の使い出がある様な気がしてきた。
- おすすめのワークフローがありましたら是非教えてください。:smile: 




## 参考ソース

こちらを参考にさせて頂きました。

> * [Alfred Workflows - Extend Alfred and Boost Your Productivity](https://www.alfredapp.com/workflows/)
> * [Packal](http://www.packal.org/)
> * [リアルタイムに翻訳してくれるAlfred Workflowが手放せない | mah365](http://blog.mah-lab.com/2014/05/31/realtime-translation-alfred-workflow/)
> * [フロントエンド開発者向けのAlfred Workflow - アインシュタインの電話番号](http://blog.ruedap.com/2013/10/30/alfred-workflow-for-front-end-developers)