メインコンテンツまでスキップ

AlfredのSnippetsをRaycastに移行する

· 約3分
wen

0. 背景

私はこれまでmacOSのlauncherとしてAlfred 3を使っていました。 スニペット機能は有料オプションでしたが、課金して使っていました。

最近、Raycastというlauncherを見つけました。 Raycastのスニペット機能は無料で、しかもオープンソースで、自分でカスタマイズできます。

なので、AlfredRaycastに移行することにしました。 しかし、AlfredのスニペットファイルのフォーマットはRaycastのスニペットファイルのフォーマットと異なるため、AlfredのスニペットファイルをRaycastのスニペットファイルに変換する必要があります。

1. Migrate Alfred Snippets to Raycast

1.1 Get Alfred Snippets Files

Alfred 3 の collections は一括でエクスポートすることができないので、以下のように一つずつエクスポートする必要があります。🐶

img

1.2 Convert Alfred Snippets to Raycast Snippets

エクスポートしたAlfredのスニペットファイルを新しいフォルダに入れます。 以下の内容でconvert-alfred-snippets-to-raycast-snippets.shファイルを作成します。

convert-alfred-snippets-to-raycast-snippets.sh
#!/bin/sh -e
# Script for converting Alfred snippets to Raycast snippets
# Usage: chmod +x convert-alfred-snippets-to-raycast-snippets.sh; ./convert-alfred-snippets-to-raycast-snippets.sh
# NOTE: Install jq before running this script

# List up all *.alfredsnippets files and rename them to *.zip
for file in *.alfredsnippets; do
mv "$file" "${file%.alfredsnippets}.zip"
done

# Unzip all *.zip files and get the folders name
for file in *.zip; do
unzip -o "$file" # -o: overwrite existing files without prompting
done


# Merge all *.json files to one file for Raycast snippets
jq -s 'map(.alfredsnippet | {name, keyword, text: .snippet})' *.json > ./output.json

# Clean up all files except output.json
for file in *.json; do
if [ "$file" = "output.json" ]; then
continue
fi
rm "$file"
done

for file in *.zip; do
rm "$file"
done

for file in *.plist; do
rm "$file"
done

# You can now import the output.json file to Raycast

echo "Done! 🎉 You can now import the output.json file to Raycast -> Import Snippets"

Github gistからもDL可能です。

注記

このスクリプトを実行するには、コマンドラインのJSON処理ツールであるjqをインストールする必要があります。

Macの場合、Homebrewを使ってjqをインストールすることができます。コマンドはbrew install jqです。 詳しくは公式サイトを参照してください。

以下のコマンドを実行します。

chmod +x convert-alfred-snippets-to-raycast-snippets.sh
./convert-alfred-snippets-to-raycast-snippets.sh

実行すると、現在のディレクトリにoutput.jsonファイルが生成されます。

1.3 Import Raycast Snippets

Raycast を開き、Import Snippetsをクリックします。 先ほど生成したoutput.jsonファイルを選択して、Raycastにスニペットをインポートします。

Reference

Migrating Alfred Snippets to Raycast

Loading Comments...