自分用BL本データベースをScrapboxで作る
めっっっっっちゃくちゃ便利。
蔵書リストを作りたい
「気になる本リスト」を作りたい
蔵書と気になる本を串刺し検索したい
タグとかを好きにつけまくって分類したい
感想もメモしておきたい
字数は無制限がいい
感想への評価は要らないので、コメント欄やいいね機能はなくていい
一覧画面に書影が表示されてほしい
タイトルだけでなく、表紙の雰囲気込みで記憶してることが多いので
e.g. 「あの青空のやつ」「黄色っぽいやつ」
完全に自分用にしたい
地雷や他人の感想は目に入れたくない
配慮のつもりでモザイクかけたら実際の500倍くらいエロそうな雰囲気になった……
下準備
Scrapboxで新規プロジェクトを作る
運用
気になる本を見つけたら or 本を買ったら、Amazonのページでブックマークレットを読み込む
Scrapboxにページができる
気が向いたタイミングで、思いつく属性などを #ほげほげ
の形式で書き込む
自分用なので、情報サイトなどにはないニッチな性癖もタグにできる!!!!!
未購入の本には #気になる
をつけておく
そのままウィッシュリストになる
「なんか買いたいなー」となったタイミングで #気になる
で絞り込むと神
買ったタイミングで #気になる
タグだけ外せばOK
出版社・レーベルも []
をつけてタグにしておく
出版社単位のセールがきたときに便利
読んだあと、気が向いたタイミングで感想を書き込む
感想の文中にキーワードっぽい言葉があったら、 []
で囲んでリンクにしておく
これも気が向いたタイミングでよい
★★★★★
〜 ★☆☆☆☆
のタグをつけておくだけでも十分に神
「今日は疲れたから神本を読み返して癒されたい……」ってときに ★★★★★
でサクッと絞り込んだりできる
すべてを気が向いたタイミングで適当にやってくだけで、自分用の完璧なデータベースができてゆく
script.jsjavascript:(function(){
var p = document.getElementById("productTitle");//書籍のタイトルの処理
if (!p) var p = document.getElementById("ebooksProductTitle");
var title = window.prompt('Scrap "Amazon" to your scrapbox.', p.innerText.trim());
if (!title) return;
title = '『'+ title +'』';
var asin = document.getElementById('ASIN');//ASIN番号の処理
if(asin){
var a = 'ISBN:' + asin.value;
}else{
var asin = document.getElementsByName('ASIN.0')[0],a = 'ASIN:' + asin.value;
}
var detail = document.getElementById('detailBullets_feature_div');//出版社と出版年月の処理
if (!detail) {
var subdoc = document.getElementById("product-description-iframe").contentWindow.document;
var detail = subdoc.getElementById("productDetailsTable");
}
var detailtext = detail.innerText;
var pubdata = detailtext.match(/(出版社 : .+)(\(.+\))/);//[1]出版社:シーアンドアール研究所,[2](2018/7/27)
if (pubdata){
pubdata[1] = pubdata[1].replace(/:/,':[');//出版社名をリンクにしないならこの2行は削除する
pubdata[1] = (pubdata[1].match(/;/)?pubdata[1].replace(/;/,'];'):pubdata[1] + ']');
//pubdata[2] = pubdata[2] + ' ';//リンクなし
pubdata[2] = pubdata[2].replace(/\((\d+)\//, '([$1]/') + ' ';//年をリンクに
//pubdata[2] = pubdata[2].replace(/\((\d+\/\d+)\//, '([$1]/') + ' ';//年月をリンクに
}else{
var pubdata = ['','',''];
}
var isbookDesc_iframe = document.getElementById("bookDesc_iframe") != null
if (isbookDesc_iframe){
var decsdoc = document.getElementById("bookDesc_iframe").contentWindow.document;//内容紹介の処理
var d = decsdoc.getElementById("iframeContent");
if (d){//内容紹介が存在しているなら
var d1 = d.innerText.replace(/\n/g,'\n>');
}else{
var d1 = "";//内容紹介が空っぽの場合
}
}else{
var d1 = "";//内容紹介が空っぽの場合
}
var image=document.getElementById("imgBlkFront");//書影の処理
if (!image) var image = document.getElementById("ebooksImgBlkFront");
var imageurl = image.getAttribute("src");
var pub = []; //著者情報の処理
var c = document.getElementsByClassName('author');
for (g = 0; g < c.length ;g++){
var at = c[g].innerText.replace(/\r?\n/g, '').replace(/,/,'');
var pu = at.match(/\(.+\)/);
var ct = at.replace(/\(.+\)/,'').replace(/ /g,'');
pub.push(pu + ' [' + ct + ']');
}
var lines='['+imageurl+' '+window.location.href+']\n\n#\n\n' + pub.join(' ') + '\n' + pubdata[1] + '\n\u767a\u58f2\u65e5: ' + pubdata[2] + '\n' + a + '\n\u5099\u8003: \n\n> ' + d1 + '\n\n\u6c17\u306b\u306a\u3063\u305f\u65e5: \n\u8cb7\u3063\u305f\u65e5: \n\n\u8a55\u4fa1\n\u2605\u2605\u2605\u2605\u2605(4.1-5.0)\n\u2605\u2605\u2605\u2605\u2606(3.1-4.0)\n\u2605\u2605\u2605\u2606\u2606(2.1-3.0)\n\u2605\u2605\u2606\u2606\u2606(1.1-2.0)\n\u2605\u2606\u2606\u2606\u2606(0.1-1.0)\n \u840c\u3048\uff08\u9b45\u529b\u3001\u697d\u3057\u3055\uff09: \u8003\u3048\u308b\u306a\u611f\u3058\u308d\n \u7d75\u67c4: \u82e6\u624b0.25\uff0f\u82e6\u624b\u3067\u3082\u597d\u304d\u3067\u3082\u306a\u30440.5\uff0f\u3051\u3063\u3053\u3046\u597d\u304d0.75\uff0f\u6700\u9ad81.0\n \u30b9\u30c8\u30fc\u30ea\u30fc\uff08\u8a2d\u5b9a\u3001\u5c55\u958b\uff09: \u3048\uff1f \u3068\u306a\u3063\u305f0\uff0f\u82e6\u624b\u3067\u3082\u597d\u304d\u3067\u3082\u306a\u30440.5\uff0f\u3051\u3063\u3053\u3046\u597d\u304d0.75\uff0f\u6700\u9ad81.0\n \u8aad\u307f\u3084\u3059\u3055\uff08\u8907\u96d1\u3067\u306a\u3044\u304b\u3001\u914d\u616e\u304c\u3042\u308b\u304b\uff09: \u308f\u304b\u308a\u306b\u304f\u304b\u3063\u305f\u3001\u914d\u616e\u304c\u306a\u3044\u3068\u611f\u3058\u305f0\uff0f\u8aad\u3093\u3067\u3066\u5f15\u3063\u304b\u304b\u308b\u3053\u3068\u304c\u306a\u304b\u3063\u305f0.75\uff0f\u3053\u308c\u306f\u7a81\u51fa\u3057\u305f\u3088\u3044\u914d\u616e\u3060\uff01\u3068\u611f\u3058\u308b\u8981\u7d20\u304c\u3042\u3063\u305f1.0\n \u8aad\u5f8c\u611f\uff08\u5370\u8c61\u306b\u6b8b\u308b\u304b\u3001\u8aad\u307f\u8fd4\u3057\u305f\u3044\u3068\u601d\u3046\u304b\uff09: \u6700\u5f8c\u307e\u3067\u8aad\u3081\u306a\u304b\u3063\u305f0\uff0f\u8aad\u307f\u901a\u3057\u305f\u3051\u3069\u518d\u8aad\u306f\u306a\u3044\u3068\u601d\u3046\u3001\u8aad\u5f8c\u611f\u304c\u60aa\u30440.25\uff0f\u8aad\u307f\u901a\u3057\u305f\u3051\u3069\u8aad\u5f8c\u611f\u304c\u3088\u304f\u3082\u60aa\u304f\u3082\u306a\u304f\u71210.5\uff0f\u306a\u306b\u304b\u8aad\u307f\u305f\u3044\u306a\u3068\u601d\u3063\u305f\u3068\u304d\u306b\u9078\u629e\u80a2\u306b\u5165\u308b\u3068\u601d\u30460.75\uff0f\u4f55\u5ea6\u3067\u3082\u8aad\u307f\u8fd4\u30591.0\n\n\u611f\u60f3:\n';//ページへの書き込み内容。ここで順番を変えればページ内容も変わります。
var body = encodeURIComponent(lines);
window.open('https://scrapbox.io/mybl/'+encodeURIComponent(title.trim())+'?body='+body)
})();