generated at
WebページをScrapするBookmarklet
参考

タイトルとリンクをメモする
スクショを見る限り、リンクがエンコードされちゃってますねtakker
2021-01-26 19:58:44 decodeするようにしました
Webページで選択した範囲を引用記法で書き込める
htmlタグは全て無視する
タグをつけられる
お好きに変えて下さい
積んタブにどうぞ

導入方法
新しいブックマークを作る
ブックマークのURL欄に bookmarklet.js を貼り付ける
bookmarklet.js 内のprojectとtagを変更
例:/programming-notes #bookmark というタグでscrapする場合、以下のように置換
#${"scrapocket"} #bookmark
${"your project"} programming-notes
bookmarklet.js
javascript:(()=>{const a=document.title,b=[],c=window.getSelection().toString().trim();c&&b.push(...c.split(/[\f\n\r]/g).filter(a=>""!==a).map(a=>`>${a}`),""),b.push(a,decodeURIComponent(window.location.href),"","",`#${"scrapocket"}`,"");const d=encodeURIComponent(b.join("\n"));window.open(`https://scrapbox.io/${"your project"}/${a}?body=${d}`,"_self")})();

コンパイル前のソース
script.js
javascript:(() => { const PROJECT = 'your project'; // Webページを保存するproject const TAG = 'scrapocket'; // Scrapboxのページに付けるタグ const title = document.title; const lines = []; const quote = window.getSelection().toString().trim(); // 選択範囲の文字列を取得 if (quote) { lines.push(...quote

script.js
.split(/[\f\n\r]/g) // 改行区切りで配列化 .filter(line => line !== '') // 空行は削除 .map(line => `>${line}`), // 引用記号 '', // 空行 ); } lines.push( title, // 保存するページのタイトル decodeURIComponent(window.location.href), // 保存するページのリンク '', '', `#${TAG}`, '', ); const body = encodeURIComponent(lines.join('\n')); window.open(`https://scrapbox.io/${PROJECT}/${title}?body=${body}`, '_self'); })();

複数要素を格納できます
lines は定数にしました
$jscomp is not definedになってしまうな…
...quote の部分?
なんでだろ?

hr
別の導入方法 (by takker)
private projectにページを作れなかったyosider
この方法だと認証が必要?
scrapbox.io からなら実行できる
cookieがあるので?
/takker/scrapbox-reference-makerでは起きないですか?
↑では試していませんが、private projectから読み込んでいる別のbookmarkletでは起きたことがありませんtakker
一旦元の方法に戻します

JavaScript