井戸端ブックマーク
井戸端が人力検索井戸端の次に公開したソーシャルブックマークサービス
みんなでブックマークを共有する世界 in 井戸端
使い方
ブックマークレットで開く
アイコン前付け記法で適当にコメントを書く
登録方法
自動更新版
code:automatic.js
javascript:import('https://scrapbox.io/api/code/villagepump/井戸端ブックマーク/min.js').then(m => m.default("ユーザー名"),()=>alert("error"));undefined;
code:atodeyomu.js
javascript:import('https://scrapbox.io/api/code/villagepump/井戸端ブックマーク/min.js').then(m => m.atodeyomu("bsahd"),()=>alert("error"));undefined;
ブロッカーをご使用の場合、scrapbox.ioへのリクエストを許可してください
そしてCORS解除拡張を入れてください
手動更新版
code:bookmarklet.js
javascript:(o=>{var e=encodeURIComponent,t=location,n=decodeURI(t.host+t.pathname),p=[""+t.href+" "+document.title+"",""+t.hostname+"","ユーザー名.icon"],t=getSelection()+"";t.trim()&&t.split("\n").map(o=>{p.push(" > "+o)}),open("https://scrapbox.io/villagepump/"+e(n)+"?body="+e(p.join("\n")))})();
必ずブックマークに入れてから動かす
存在チェック機能が使えない
存在チェック機能:すでに存在するときにページ名とリンクを追記しない
corsとかはいらない
easylazyscrapとの違い
日付順ではなくURL別で整理される
Scrapbox公式ブックマークレットとの違い
問答無用でURLがページ名になる
タイトルを考える必要がない
試しにブクマしてみたbsahd.icon
blog.3qe.us/entry/2023/04/08/215608
developer.mozilla.org/ja/docs/Web/API/Window/getSelection
後で読むのサンプル:win2k.org/blog/2024/11/11/post-15748/
本体
code:min.js
function lib(){const e=encodeURIComponent,t=location;return[e,t,t=>fetch("https://scrapbox.io/api/pages/villagepump/"+e(t)).then((e=>e.ok?e.json():{persitent:!1})).then((e=>e.persistent))]}export default function bookmark(e){vart,o,n=lib(),i=decodeURI(o.host+o.pathname);n(i).then((n=>{if(n)var p=[];else p=[""+o.href+" "+document.title+"",""+o.hostname+""];p.push(""+e+".icon");var a=getSelection()+"";a.trim()&&a.split("\n").map((e=>{p.push(" > "+e)})),open("https://scrapbox.io/villagepump/"+t(i)+"?body="+t(p.join("\n")))}))}export function atodeyomu(e){vart,o,n=lib(),i=decodeURI(o.host+o.pathname);n(i).then((n=>{if(n)var p=[];else p=[""+o.href+" "+document.title+"",""+o.hostname+""];p.push(""+e+".icon"),p.push(""+e+":あとで読む");var a=getSelection()+"";a.trim()&&a.split("\n").map((e=>{p.push(" > "+e)})),location.href="https://scrapbox.io/villagepump/"+t(i)+"?body="+t(p.join("\n"))}))}
UglifyJS 3: Online JavaScript minifier
code:villagepumpbookmark.js
// deno-lint-ignore-file no-var no-inner-declarations no-redeclare prefer-const no-unused-vars
function lib() {
const myEncodeURIComponent = encodeURIComponent;
const myLocation = location;
const checkAlreadyExits = (pageName) => {
return fetch(
"https://scrapbox.io/api/pages/villagepump/" +
myEncodeURIComponent(pageName),
)
.then((pageRes) => {
if (pageRes.ok) {
return pageRes.json();
} else {
return { persitent: false };
}
})
.then((json) => {
return json.persistent;
});
};
return myEncodeURIComponent, myLocation, checkAlreadyExits;
}
export default function bookmark(username) {
var myEncodeURIComponent, myLocation, checkAlreadyExits = lib();
var pageName = decodeURI(myLocation.host + myLocation.pathname);
checkAlreadyExits(pageName).then((alreadyExits) => {
if (alreadyExits) {
var lines = [];
} else {
var lines = [
"+ myLocation.href + " " + document.title + "",
"+ myLocation.hostname + "",
];
}
lines.push("+ username + ".icon");
var quote = getSelection() + "";
if (quote.trim()) {
quote.split("\n").map((line) => {
lines.push(" > " + line);
// 本当はmapをこういう用途で使うのはNGだが、ゴルフのために仕方なく
});
}
open(
"https://scrapbox.io/villagepump/" +
myEncodeURIComponent(pageName) +
"?body=" +
myEncodeURIComponent(lines.join("\n")),
);
});
}
export function atodeyomu(username) {
var myEncodeURIComponent, myLocation, checkAlreadyExits = lib();
var pageName = decodeURI(myLocation.host + myLocation.pathname);
checkAlreadyExits(pageName).then((alreadyExits) => {
if (alreadyExits) {
var lines = [];
} else {
var lines = [
"+ myLocation.href + " " + document.title + "",
"+ myLocation.hostname + "",
];
}
lines.push("+ username + ".icon");
lines.push("+ username + ":あとで読む");
var quote = getSelection() + "";
if (quote.trim()) {
quote.split("\n").map((line) => {
lines.push(" > " + line);
// 本当はmapをこういう用途で使うのはNGだが、ゴルフのために仕方なく
});
}
location.href = "https://scrapbox.io/villagepump/" +
myEncodeURIComponent(pageName) +
"?body=" +
myEncodeURIComponent(lines.join("\n"));
});
}
// 引用機能は公式ブックマークレットをパクりました