Templaterプラグイン+JavaScriptで章番号を自動で振る
小ネタですが、人によってはそこそこ便利なTipsかもなので一応載せておきます。
前回の記事でまとめた以下のような見出し形式で連番の章番号を振っていく場合……
# 1. さいしょの見出し
吾輩は本文である。
# 2. つぎの見出し
この調子で2万行くらいある。
この見出しの数が増えていくと、次何番だっけ? というのを毎回ちょっとスクロールしたりアウトラインを開いたりして確認することになります。なるんだよ……。
これがめんどくさい人は、Templaterというプラグインがオススメ。
Vault内に「templates」のようなフォルダを作り(コアプラグイン側のテンプレートを使っている場合はそちらのフォルダと重複しないように注意)、Templaterプラグインの設定でテンプレートフォルダとして指定します。
そしてそこに適当なテンプレート用ファイル(例:InsertSection.md)を作り、以下のJavaScriptを貼り付けます。そう、Templaterはなんと挿入するテンプレにスクリプトを使えるんですね……すごいね……。
<%*
let sec = tp.file.content.match(/.*#\s(\d+)\.\s.*?$/s);
let secN = 0;
if (sec) { secN = Number(sec[1]) + 1; }
tR += `# ${secN}. 次`;
%>
これは「ファイル内に最後に現れる見出しの頭の番号+1」を自動で計算して、「# 3. 次」のような見出しを自動挿入するスクリプトです。「次ってなんじゃ……」という方は該当箇所を適当に弄ってください。
これで好きなメニューからTemplater>InsertSection(例)を選べば自動で連番の章番号が挿入されます。
※見ての通りあまり真面目なコードではありませんが、まあ普通に使う分には特に問題は起きないと思います。あと、私が見出しレベル1しか使っていないのでそれにしか対応していません。レベル2以下も使いたい場合はもう少し考慮することが増えるかと思います。
Commanderプラグインの併用もオススメ
ところで好きなメニューってどこよ?
とObsidian初心者は思うのではないでしょうか……。私は思いました。
PC版はどうにでもなるのですが、特にAndroidなどのモバイル版はテンプレートの挿入がし辛いです。
通常はワンクッション置いてテンプレートファイル選ぶ必要があるし……。
そんな貴方にCommanderプラグインをオススメ。
最初にTemplaterプラグインの設定から、「Template Hotkeys」でショートカットを設定したいテンプレートを設定しておいてください。ホットキー自体は設定しなくても大丈夫です。(ここにあることによって個別のテンプレートがグローバルコマンドとしてリストアップされるようになります)
次にCommanderを導入してタブバー(一番上のバー)の空いているあたりをタップすると「+」が出て来ますので、ここから「InsertSection(例)」などを検索して設定すると、ボタン一発でテンプレを挿入できるようになります。
私は同じくタブバーにRemotely Saveのボタンも置いています。便利~
↑本のマークの左二つがCommanderで追加したボタンです(Android)
※アイコンは好きにカスタムできます
というわけでTemplaterで連番自動挿入スクリプトでした。
Templaterには無限の可能性を感じるので、引き続き何か思いつけば遊んでみたいと思います。
それではよきObsidianライフをʕ ·ᴥ·ʔ
コメント