addLinkedListCopyButton
右メニューにLinksリストをクリップするボタン追加
code:script.js
scrapbox.PageMenu.addMenu({
title: 'LinkList',
image: '/assets/img/logo.png',
onClick: () => getLinksAndCopy(),
});
function getLinksAndCopy(e) {
const decodeTitle = decodeURI(window.location).match(/^\/+$/)0;
const api = https://scrapbox.io/api/pages/my-knowledge/${decodeTitle};
fetch(api)
.then(d=>d.json())
.then(json=>{
const links = json[relatedPages][links1hop];
const linksTxt = links.map(e=>[${e["title"]}]).join("\n");
copyToClipbord(linksTxt);
})
.catch(error=>{
console.log(error!);
console.log(error);
});
function copyToClipbord(txt) {
if (!txt) return window.prompt(リンクされているページがありません);
setTimeout(() => navigator.clipboard.writeText(txt), 100);
return;
if (navigator.clipbord) {
return navigator.clipbord.writeText(txt);
}else {
console.log(copy failed!);
popupDisplay(txt);
return;
}
}
function popupDisplay(txt) {
window.prompt(コピーに失敗したため Ctrl + C を押して自力でコピーしてください, txt);
}
}
from ik
code:script2.js
scrapbox.PageMenu.addMenu({
title: 'LinkList',
image: '/assets/img/logo.png',
onClick: () => getLinksAndCopy(),
});
function getLinksAndCopy(e) {
const decodeTitle = decodeURI(window.location).match(/^\/+$/)0;
const api = https://scrapbox.io/api/pages/my-knowledge/${decodeTitle};
fetch(api)
.then(d=>d.json())
.then(json=>{
const links = json[relatedPages][links1hop];
const linksTxt = links.map(e=>[${e["title"]}]).join("\n");
copyToClipbord(linksTxt);
})
.catch(error=>{
console.log(error!);
console.log(error);
});
function copyToClipbord(txt) {
if (!txt) return window.prompt(リンクされているページがありません);
setTimeout(() => navigator.clipboard.writeText(txt), 100);
return;
if (navigator.clipbord) {
return navigator.clipbord.writeText(txt);
}else {
console.log(copy failed!);
popupDisplay(txt);
return;
}
}
function popupDisplay(txt) {
window.prompt(コピーに失敗したため Ctrl + C を押して自力でコピーしてください, txt);
}
}