Skip to content

【ツール】リストをコピーすると、Scrapbox用のリンク/リストに変換してくれるAlfredWorkflowを作る

Published: at 12:45

Table of contents

Open Table of contents

なんで作ったか

f:id:ikmbear:20211212121719g:plain

QiitaとかZennに投稿されている記事で、「お、このリストいいな。自分のメモにコピペして一つずつ深掘りしていこう!」と思う時があります(「レビュー依頼をする前に見るリスト」とか「転職で聞かれる質問リスト」とか)。

私はメモにScrapboxを使っているのですが、そのままコピペしてしまうと、

という問題があります。

そこで今回は、Alfred Workflowを利用して「リストをコピーすると、Scrapboxのリンク/リストを作成してくれるツール」を作ってみました。

今回作ったもの

LiLink:リストを渡すと、Scrapboxのリンクリストを作成してくれるAlfred Workflow

f:id:ikmbear:20211212122305g:plain

Alfredのメニューから「lilink」と入力することで呼び出せます。スペースを開けてコピーしたリンクを貼り付けると、Scrapboxのリンクかつリスト形式に変換したものをクリップボードに出力します。

f:id:ikmbear:20211212122510p:plain
プラグインについて:以下のプラグインを導入するために、プラグインについて学びます学習を支えるプラグイン:学習を支える3つのプラグインを紹介しますRubyMineのウィンドウ:RubyMineを開いた時に見える各ウィンドウの名称を整理します↓(変換) [プラグインについて:以下のプラグインを導入するために、プラグインについて学びます] [学習を支えるプラグイン:学習を支える3つのプラグインを紹介します] [RubyMineのウィンドウ:RubyMineを開いた時に見える各ウィンドウの名称を整理します]

作成過程

ツールの名前を決める

なんでもいいんですが、今後ツールを増やしていくことを考えると、ある程度わかりやすいものがいいです。今回は、ListとLinkを作ってくれるので、「LiLink」にしました。

ドット絵を描く

f:id:ikmbear:20211212122930j:plain

AlfredはWorkflowに対して、任意の画像を設定することができます。

私はドット絵が趣味なので、ドット絵でリストの中黒とリンクのアイコンを合わせたアイコンを作成しました。

ちなみにドット絵はiPaddotpictというアプリで描いています。

Workflowを作る

f:id:ikmbear:20211212123405p:plain

大したスクリプトも書かないので、今回はBlank Workflowに対して一から作成しました。

f:id:ikmbear:20211212123525p:plain

基本的な情報を設定して、

f:id:ikmbear:20211212123602p:plain

引数つきでキーワード「lilink」を受け取るように設定

f:id:ikmbear:20211212123635p:plain

rubyスクリプトを書いていきます。

# 前段の入力をARGVとして受け取る(`with input as argv`)設定なので、これを処理するquery = ARGV[0].split("\n").map { |line| " [#{line}]" }.join("\n")# 次の処理に渡すために、`query`という名前で出力するprint query
f:id:ikmbear:20211212123832p:plain

クリップボードへのコピーアクションを設定し

f:id:ikmbear:20211212123924p:plain

あとは全部がっちゃんこして完成🎉

おわりに

これくらいのRubyスクリプトなら、適当に作ってコマンド置き場に設置してもいいんですが、

という利点があるので、AlfredWorkflowとして作るのもありだな〜と思いました。