Amazonの書籍ページから、タイトル、書影画像、著者などをObsidianに取り込むことができるブックマークレットを作りました。
Obsidianで読書ノートを作るときに便利ですよ。
まず、挙動を紹介します。
Amazonの書籍ページでブックマークレットを発動させます。ここでテキストを選択しておくと、そのテキストも取り込まれます。本の概要などを選択状態にしておくと便利です。
以下の画面が表示されますので、OKを選択します。
すると、Obsidianを起動してよいか聞かれますので、OKを選ぶと、Obsidianが起動し、以下のページが自動で作成されます。選択したテキストも取り込まれていますね。(本によっては取り込まれない場合もあります)
上記の項目(レビュー、Action、学び)は、自分用に設定しているだけなので、お好みで変更可能です。
ちなみに、このブックマークレットは、作ったというより、以下の記事で紹介されているScrapbox用をJavaScriptの勉強を兼ねてObsidian用にアレンジしただけです。
私には、送信先をObsidianに変更するのがやっとで、まだまだ、こんな素晴らしいコードは書けません。
のらてつ(@Foam_Crab )さん、素晴らしいブックマークレットをありがとうございます。
さて、今回紹介したブックマークレットのコードを共有しますので、もし、気に入れば、ぜひ、使ってください。
※2023/09/28修正ありjavascript:(function(){var ttl = document.getElementById("productTitle");if (!ttl) var ttl = document.getElementById("ebooksProductTitle");var title = window.prompt('選択範囲を概要としてスクラップします。', ttl.innerText.trim());if (!title) return;title = '『'+ title +'』';var subttl = document.getElementById("productSubtitle");var sub;if(subttl) {sub = "\n" + subttl.innerText;} else {sub = "";}var select = window.getSelection().toString();if (select){select = select.replace(/(\W+)( )(\W+)/g,'$1$3');select = "\n> " + select.replace(/\n/g,'\n> '); }else{select = "";};var image=document.getElementById("landingImage");var imageurl = image.getAttribute("src");var authors = [];var c = document.getElementsByClassName('author');for (g = 0; g < c.length ;g++){var at = c[g].innerText.replace(/\r?\n|\t/g, '').replace(/,/,'');var pu = at.match(/\(.+\)/);var ct = at.replace(/\(.+\)/,'').replace(/ /g,'');authors.push(pu + '[[' + ct + ']]');}var lines = '![|350]('+imageurl+')\n[Amazon]('+window.location.href+')\n' + authors.join(' ') + sub + select + '\n\n## ■レビュー\n?読了 ★ #BookNote \n\n(ツイート)\n' + '\n\n## ■Action\n\n'+ '\n\n## ■学び\n \n' + '\n\n## ■引用\n\n' ;var body = encodeURIComponent(lines);window.open('obsidian://new?vault=Brain&name='+encodeURIComponent(title.trim())+'&content='+body)})();
- 項目(■レビュー、■Action、■学び、■引用)はお好みでアレンジ可能です。
- コードの最後の方の「Brain」の部分はご自分のObsidianのVault名に変更してください(日本語の場合はエンコードが必要です)→変換ツール
ちなみにObsidianはタイトルに「:」など使えない記号があります。
もし、書籍名にこういった記号がある場合は、このブックマークレットを発動してもエラーになります。
前述のとおり、以下の画面が表示されたときに、「:」など使えない記号 を削除するか、他のアプリに出力してから削除するのがよいでしょう。
以下は、Obsidianではなく、Draftsに出力するブックマークレットのスクリプトです。書籍名に記号がある場合などにご活用ください。
https://teineini.net/20221125-amazon-drafts/※なお、私はJavaScriptには詳しくないので、ご不明な点があっても、恐らく私にはお答えできないのでご容赦ください。