Jazzと読書の日々

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

Obsidianでタイトル付きリンクを作る Linker

URLアドレスからタイトルを取得するスクリプトです。

Linker.md

Templaterに登録してお使いください。

<%*
e = app.workspace.activeLeaf.view.editor
p = e.getCursor().line
url = e.getLine(p)
if(url.match(/^https?:/)){
  if(url.match(/x\.com/)) url = url.replace(/x\.com/, "twitter.com")
  if(url.match(/twitter\.com/)){
    s = "![twitter](" + url + ")"
  }else{
    x = await request({url})
    s = x.toString().match(/<title>(.*?)<\/title>/i)[1]
    s = "[" + s + "](" + url + ")"
  }
}else{
  s = "[[" + url + "]]"
}
e.setLine(p, s)
%>

Obsidian Templaterスクリプトを登録する方法 - Jazzと読書の日々

使い方

カーソル行がURLアドレスの場合はMarkdownリンクに変換します。

ただTwitterの場合はタイトルの取得ができないので埋め込み表示にしました。 x.comの場合も同様になります。

カーソル行がアドレスでない場合は内部リンクに変換します。

まとめ

タイトル取得ができないケースも多いので、そのときは諦めてください。