Amazonの書誌情報をObsidianのmd形式でコピペできるようにするブックマークレット

Obsidianに読書メモを便利に残すために、Amazonの書誌情報(自分にとって必要な部分)をわりと簡単にコピペできるようにするブックマークレットを作りました。

こんな感じで動作します。(ブックマークレット発動で、説明文のところをコピペしやすい書誌情報フィールドに変換)

Image from Gyazo

概要・特徴

javascriptで動作するブックマークレットです。表示されてるページの中身を読み取って、AmazonのAPIを使わないのシンプルなものですが、その分できることが限られていたり、Amazonのページが変化すると動かなくなることがあります。また、現状は書籍 or Kindleカテゴリのページでしか動作しません。

この手のサービスは大抵、別のページに移動して、そこでコピペ用のコードが出る、というパターンが多いんですが、javascriptを使って直接Amazonの書籍概要欄にソースを表示するのが特徴です。(ブックマークレット起動でクリップボードにソースを貼り付けることもできそうだけど、そういういろんな機能は未完成。見た目的に今の形の方が「おっ!」てなりやすいから、この段階で公開)

また、自分が使いたいObsidianのフォーマットに合わせていますが、少しの努力で好みのフォーマットに変換できる(ので、各自カスタマイズ推奨です)

やり方

ブックマークレットからScrapboxのソースを呼び出して起動する、という形を使います。なのでまず自分用のScrapboxアカウントが必要です。

Scrapboxでブックマークレットを作る理由・メリットなど以下を参照。(要するに、この方法を使うと自分で改造しやすい)
Scrapboxでブックマークレットを作る – 西尾泰和のScrapbox
ScrapboxのコードブロックからJavaScriptを読み込むようにする – 倉下忠憲の発想工房

その後、Scrapboxに以下のようなページを作ります。(ページ内にコードブロック
を作って、script.js などという名前にする)
書誌情報を取り込むブックマークレット – ごりゅごcast

script.jsは以下のものをご利用ください。(上のScrapboxのものは、Obsidian Publishで使うためにアソシエイトタグが挿入されています)
bibinfo-exporter/script.js at main · goryugocast/bibinfo-exporter

最後に、以下のコードを「自分用に修正して」ブックマークレットに登録。
ブックマークレット 登録方法 – Google 検索

javascript:(function(d,s){s=d.createElement('script');s.src='https://scrapbox.io/api/code/プロジェクト名/ページ名/スクリプト名';d.body.appendChild(s);})(document)

書誌情報を取り込むブックマークレット – ごりゅごcast、とページタイトル、ファイル名を同じにすれば、プロジェクト名、のところだけ変換すればオッケー。

javascript:(function(d,s){%20s=d.createElement('script');s.src='https://scrapbox.io/api/code/プロジェクト名/%E6%9B%B8%E8%AA%8C%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E3%82%8A%E8%BE%BC%E3%82%80%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88/script.js';d.body.appendChild(s);})(document)

あとは、↑のブックマークレット起動で同じように動作するはずです。

このあとやりたいこと

  • ブックマークレット起動だけでクリップボードにコピーする
  • 「登録情報」からちゃんと「出版社」だけ取得する(今はかなり雑な方法)
  • もっと改造しやすい丁寧なコメント付きソースへ
  • 書籍以外も取りこめるようにする(必要十分な情報の吟味から)

なお、今回のjavascriptは、R-styleで公開していただいているScrapbox登録用のソースを参考にさせていただいております。

いっそのこと出版社名もScrapboxに取り込んでしまうブックマークレット – R-style

これがなかったら、著者の処理とか出版社データをちゃんととりこもうとかやろうとしなかったと思いますありがとうございます。

それよりもなによりも、このscriptをきっかけにして「javascriptだけである程度書籍の取得ができる」と気がつけて、ページ遷移なしのお手軽書誌情報クリッパーを作ることができました。

フルタイムでプログラムを書くほどプログラムが得意ではありませんが、自分がやりたいことをちょっと自分で作る、くらいはできる程度にはプログラムは好きです。

いろいろ荒いところだらけなので、もしもっとこうすればいいとかできる諸先輩方、是非ともgithubにていろいろご指導ください。(プルリクを送ったことも受け取ったこともないです)
goryugocast/bibinfo-exporter: Bookmarklet for export Amazon Bibliographic information

気に入っていただけたら、欲しいものリストの本などお送りいただけるとうれしいです

この記事を書いた人

五藤隆介(goryugo)

「仕事効率化」「ライフログ」「家族Hack」「デジタル情報共有」みたいなことを書いてます。

面白い本について語るPodcast「ブックカタリスト」も始めました

iPad Workers

月額15ドル/年額120ドルで月1回のiPadオンラインセミナー
受講&iPad活用のヒントになる情報をお届けします。iPad Meetup(Zoom座談会)も開催します。
ライスワークやライフワークにiPadを活用したい人におすすめのコミュニティです。