Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianの埋め込みメニューをまとめてみた

昨日の続き。

Linker

URLアドレスだけでMarkdownリンクを作るスクリプト。 これ、カーソル行がそれ以外のとき何もしない。 ちょっともったいないのでメニューにしました。

Linker.md

Templaterスクリプトです。

<%*
list = {
  "C: コンテキストメニュー" : "editor:context-menu",
  "L: 内部リンクを追加" : "editor:insert-wikilink",
  "E: 埋め込みを追加" : "editor:insert-embed",
  "I: 画像を追加" : "editor:attach-file",
  "T: タグを追加" : "editor:insert-tag"
};

e = app.workspace.activeLeaf.view.editor;
p = e.getCursor().line;
url = e.getLine(p);
if(url.match(/^https?:/)){
  x = await request({url});
  s = x.toString().match(/<title>(.*?)<\/title>/i)[1];
  e.setLine(p, "- [" + s + "](" + url + ")");
}else{
  k = Object.keys(list);
  x = await tp.system.suggester(k, k);
  if (x) app.commands.executeCommandById(list[x]);
}
%>

使い方

httpで始まる行ならリンクに変換し、それ以外では埋め込みメニューが出ます。 内部リンクとか画像とか。 使用頻度の少なそうなところを組み込んでいます。

まとめ

ツールバーにボタンが並ぶと使いにくいので、メニューにまとめました。