Jazzと読書の日々

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

ObsidianでURLアドレスからタイトルを自動取得

URLアドレスを貼り付けたあと、もう一度Safariに戻ってタイトルをコピーする。 それからMarkdownのリンク形式に書き換える。 それって手間じゃないですか。

もちろんブックマークレットやショートカットを使いタイトル込みでコピーする方法もあります。 ただそれもスマートではない。 もっと簡単に考えましょう。

Linker.md

Templaterスクリプトです。 ツールバーに登録してお使いください。

<%*
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 + ")");
}
%>

使い方

URLアドレスの書いてある行にカーソルを置いてスクリプトを実行。 タイトル付きのMarkdownリンクに変換します。 もちろんネットに繋がっていないと動きません。

chatGPT

初めはchatGPTに尋ねたわけですよ。 「ObsidianのTemplaterでURLアドレスから元のサイトのタイトルを取得する方法を教えてください」みたいに。 そしたらfetchを使ったスクリプトが返ってきました。

で、組み込んでみたけどうまくいかない。 数日苦闘してわかったことは「Obsidianはfetchを通さない」でした。 fetchはいろいろリスキーみたいです。

前にAppStoreの取得でtp.obsidian.requestを使ったので、素直にそちらの路線に切り替えました。 実はrequestだけで構わないとわかり、それはそれで収穫でした。

大事なのは、chatGPTの回答を元に、ネットで検索して類題を探してみることでした。 fetch以外のところはとても参考になった。

まとめ

chatGPTは初めの一歩である。 最後の一歩ではない。