8
3

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.

作業ログ|Obsidianで便利なローカルファイルへのリンクを、Automatorに作成してもらうと楽ちんだなあ

Last updated at Posted at 2021-07-06

はじめに(この記事の背景)

思考支援ツールのObsidianで、ローカルへのリンクを挿入できて、これがかなり便利。

Image from Gyazo

ローカルへのリンクを

[ファイル・フォルダ名](<file:///フルパス>)

という形式で書いておくと、ワンクリックでファイルも開けるし、フォルダも開ける。Markdownってステキ。

あまりにも便利でよく使うので、手作業でリンクを作るのが面倒くさくなってきた。Alfredスニペットも作ったけど、それでもめんどくさくて、1クリックでリンクを作ってほしくなった。

で、Automator + シェルスクリプトにがんばってもらうことにした。

意外とハマりどころがあったので、将来の自分のために記録しておく。

環境

ここで書いていることは、下記のバージョンで実施しました。

  • Obsidian v0.12.5
  • Automator バージョン2.10 (509)
  • macOS BigSur 11.4

Automatorの全体

新規書類 > クイックアクションでファイルを作成。

コード

だいたい見たとおり。

# LANG環境変数を設定
export LANG=ja_JP.UTF-8

# 連結用文字列を設定
str1="["
str2="]"
str3="(<file://"
str4=">)"

# Obsidianで使えるMarkdown形式のローカルリンクを作成
for f in "$@"

do

#	echo "$f"

#   basenameを取得(/から前を削除)
	fn=$(basename "$f")
#	echo "$fn"

	echo "$str1$fn$str2$str3$f$str4" | pbcopy

done

ハマりどころ

クイックアクションのファイルはどこにあるのか

いつもこれがわからなくなるのだが……/Users/ユーザ名/Library/Services
Finderoption + 移動ライブラリが出てくるので、ここからアクセスするのが速い。

02. Automator クイックアクション削除時にservicesフォルダが表示されない

文字化け

$ echo $boo$foo | pbcopy

とすると、[蜊ー蛻キ](<file:///Users/mmmm/Desktop/蜊ー蛻キ>)

みたいに、文字化けしてしまう。

pbcopy(1) osx man pageによると、LANG環境変数を設定しておかないといけないようなので、

export LANG=ja_JP.UTF-8

の行を入れてやると、無事解決した。

あるいは、シェルスクリプトの実行の後ろに、クリップボードにコピーを追加する手もある(自動的に文字コードを変換して良いようにしてくれる)。

フルパスに半角スペースが含まれている場合

fn=$(basename $f)

と書いてしまうと、たとえば/Library/User Pictures/Animals/Eagle.tifといった場合、期待するEagle.tifではなく、Picturesを取って来てしまう。

そこで

fn=$(basename "$f")

としておいた。

デバッグのコツ

クイックアクションを動かそうと思って実行ボタンを押しても、入力を指定できない。

そこで、デバッグ用に、一時的にFinder項目の選択を求めるを追加しておくと便利。実行ボタンを押すたびにファイルを指定しなければならないが、結果$ echoの出力を表示できる。

過去記事

Automator+シェルスクリプトのツール。

【記録】ファイルを複製し、日付部分を変更する【macOS Automator シェルスクリプト】
【記録】ファイルを複製し、日付を変更する(その2)
【記録】ファイルを複製し、日付を変更する(その3)

リソース

01. Obsidian - A second brain, for you, forever.
02. Automator クイックアクション削除時にservicesフォルダが表示されない
03. pbcopy(1) osx man page
04. 【記録】ファイルを複製し、日付部分を変更する【macOS Automator シェルスクリプト】
05. 【記録】ファイルを複製し、日付を変更する(その2)
06. 【記録】ファイルを複製し、日付を変更する(その3)

8
3
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
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?