WebページをScrapするBookmarklet
参考
タイトルとリンクをメモする
スクショを見る限り、リンクがエンコードされちゃってますねtakker.icon
2021-01-26 19:58:44 decodeするようにしました
Webページで選択した範囲を引用記法で書き込める
htmlタグは全て無視する
タグをつけられる
お好きに変えて下さい
https://gyazo.com/0d5477596865988897fddd53d1b76b56
導入方法
新しいブックマークを作る
ブックマークのURL欄にbookmarklet.jsを貼り付ける
bookmarklet.js内のprojectとtagを変更
#${"scrapocket"}→#bookmark
${"your project"}→programming-notes
code: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")})(); コンパイル前のソース
code: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
code: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は定数にしました
https://gyazo.com/769e198c24497cc129f1dccdb3f3c29a
...quoteの部分?
なんでだろ?
/icons/hr.icon
別の導入方法 (by takker.icon)
この方法だと認証が必要?
scrapbox.ioからなら実行できる
cookieがあるので?
↑では試していませんが、private projectから読み込んでいる別のbookmarkletでは起きたことがありませんtakker.icon
一旦元の方法に戻します
JavaScript.icon