はじめに
小さい画像だったり、Markdown でパスを入れたくないときのために、画像を Base64 にエンコードして埋め込めるようにする Mac のクイックアクションを作ったので紹介します。
インストールと使い方
インストール
こちら をダウンロードして、解凍後、 埋め込み形式に変換.workflow
をダブルクリックするとインストールができます。
使い方
Finder でイメージファイルを選択後、右クリック > クイックアクション > 埋め込み形式に変換 で実行することができます。
実行結果はクリップボードにコピーされた状態になっているので、貼り付けて使用してください。
作り方について
使いたいだけの人は特に必要ありませんが、詳細についてです。
一応、GitHub リポジトリ にしてあります。
Automator クイックアクション
このコマンドは Automator のクイックアクションとして作成しています。
Automator は macOS で色々と自動化するためのスクリプトなどを作れるアプリです。
その中でクイックアクションという右クリックのメニューから実行できるスクリプトがあり、それを利用しています。
クイックアクションでは macOS の機能を活用したアクションのほか、AppleScript や JavaScript、シェルスクリプトが実行できます。
今回はこの中のシェルスクリプト( Z Shell )を利用しています。
Bash でも良かったのですが、最新の macOS はデフォルトが Z Shell なので Z Shell で書いています。
コマンド
中身は Base64 にするための base64
と、改行文字を消すため tr
、書き出す文字列を出力するための echo
とクリップボードにコピーするための pbcopy
を使っています。
言葉で書くと複雑そうですが、コマンドは以下のような1行のコマンドです。
echo \<img\ src=\"data:image/png\;base64,$(base64 $1)\"\> | tr -d '\n' | pbcopy
これだけで、できています。
ターミナルなどから実行するには引数の $1
を画像のファイルパスにすれば動くと思います。
おわりに
はじめて Automator のアクション公開するんですけど、公開の仕方これでいいのかな…