UserScript:Bulletjournal
テスト
¥テスト
oテスト
-テスト
!テスト
*テスト
xテスト
<テスト
・
+
ー
!
*
x
X
>
<
script.jsscrapbox.PopupMenu.addButton({
title: '🅱',
onClick: text => text.split(/\n/)
.map(line => {
if (line.match(/^¥/)) {
return line.replace(/^¥/, '[¥.icon]')
} else if (line.match(/^o/)) {
return line.replace(/^o/, '[o.icon]')
} else if (line.match(/^-/)) {
return line.replace(/^-/, '[-.icon]')
} else if (line.match(/^\*/)) {
return line.replace(/^\*/, '[*.icon]')
} else if (line.match(/^\!/)) {
return line.replace(/^\!/, '[!.icon]')
} else if (line.match(/^x/)) {
return line.replace(/^x/, '[x.icon]')
} else if (line.match(/^>/)) {
return line.replace(/^>/, '[>.icon]')
} else if (line.match(/^</)) {
return line.replace(/^</, '[<.icon]')
} else if (line.match(/^・/)) {
return line.replace(/^・/, '[¥.icon]')
} else if (line.match(/^+/)) {
return line.replace(/^+/, '[o.icon]')
} else if (line.match(/^ー/)) {
return line.replace(/^ー/, '[-.icon]')
} else if (line.match(/^*/)) {
return line.replace(/^*/, '[*.icon]')
} else if (line.match(/^!/)) {
return line.replace(/^!/, '[!.icon]')
} else if (line.match(/^x/)) {
return line.replace(/^x/, '[x.icon]')
} else if (line.match(/^X/)) {
return line.replace(/^X/, '[x.icon]')
} else if (line.match(/^>/)) {
return line.replace(/^>/, '[>.icon]')
} else if (line.match(/^</)) {
return line.replace(/^</, '[<.icon]')
} else {
return line
}
}).join('\n')
})
// テンプレートから新規ページを作るカスタムメニュー
scrptxx.jsconst base = 'bullet-journal'
fetch(`/api/pages/${base}`).then(res => res.json()).then(project => {
for (const page of project.pages) {
const isTemplate = page.descriptions.some(d => d === '#テンプレート')
if (!isTemplate) { continue }
import(`/api/code/${base}/${page.title}/script.js`)
}
})