はじめに
Obsidianを使用する時間が長くなってくると、
文章内で頻発する共通の単語をプロパティに格納して、
変数展開できたら良いのにな~って思うこと、ありませんか?
私は、ありました。
Obsidian Templater を使えば、ある程度は解決しますが、
Templaterの変数は、ドキュメントの新規作成時にしか動かないので、
バージョン情報のような、変数の更新を必要とするものには向いていませんでした。
プロパティに書いた変数を参照して、
ドキュメント中の文字列をリアルタイムで書き換えてほしい、と思いませんか?
その要望、Obsidian Live-variablesで実現できます。
プラグインのインストール
Obsidianのコミュニティプラグインで「Live variables」で検索して、インストールしてください
使い方
GitHubのREADMEに大変丁寧なデモ動画があるので、それを見るのが一番早いです
- 共通で使いたい変数をプロパティに定義します(
version
など)
-
Ctrl + P
を押して、コマンドパレットを開きます
-
Live Variables: Insert local variable
を押して、使用したい変数を選択します
- 変数がセットされます
同じ変数を大量に設置したい場合
ソースモードで閲覧すると、以下のような形でHTMLタグを挿入することで、変数展開を実現していることがわかります。
<span query="get(version)"></span><span class="lv-live-text">1.0.0</span><span type="end"></span>
なので、ソースモードのまま、変数を設置したい箇所にコピペしてから、ソースモード表示を解除すれば、大量に変数を設定することが可能です。
変数のハイライト色を調整する(任意)
デフォルトで変数にはハイライトが適用されます。
ちょっとくどいので、以下のようなCSSスニペットで見た目を調整すると良いです。
.lv-live-text {
border-radius: 0;
background-color: inherit;
padding: inherit;
}
設定でハイライトをOFFにすることもできますが、
それはそれでどこに変数設定したかわからなくなるので、
私はハイライトONで使用しています。
このプラグインを使うメリット
頻出単語のメンテナンスが容易になります。
やろうと思えば、複雑な変数展開も可能です(詳しくはプラグインのREADMEをご確認ください。)
このプラグインを使うデメリット
他の人にドキュメント編集を引き継ぐのが難しくなります。
マークダウンファイルをObsidian以外のエディタで表示すると、
ソースコードのまま表示されますので、執筆者と完全に同じ編集環境を用意するのは至難だと思います。
なので、変数を使うのは、自分以外に編集する可能性が低く、かつ、高頻度で似たようなドキュメントの生成が必要な場合に限定したほうが良いです。
他人が編集する可能性がある場合、変数は使わずに Ver [1.0.0]
のようにリプレースしたい部分を(違和感がない程度に)囲んで、文字列置換で書き換えやすい形にしたほうが、将来的なメンテナンス性は良いと思います。