増井俊之
code:script.js
var nquestions = 10;
async function episoq() {
var questions = []
var answers = []
var project = scrapbox.Project.name
var res = await fetch('/api/users/me')
var data = await(res.json())
var username = data.name
res = await fetch(/api/pages/${project}?limit=1000);
data = await res.json();
data.pages.forEach ( page => {
var title = page.title
if(title.match(/^_/) || title.match(/_$/) || title == username || title == 'settings' || page.pin != 0){
}
else {
if(title.match(/\?$/)){
questions.push(title)
}
else {
answers.push(title)
}
}
})
answers = answers.sort().map ((e) => e.match(/^(\w+\s+)?(.*)$/)2 )
var qstr = questions.sort(() => 0.5 - Math.random()).slice(0,nquestions).join(';')
var astr = answers.join(';')
location.href = http://episopass.com/?questions=${qstr}&answers=${astr}&n=${nquestions}
}
document.addEventListener('keydown', e => {
if (e.key == 'c' && e.ctrlKey){ // Ctrl-Cで実行
nquestions = Number(window.prompt('問題の数を指定してください','10'))
if (nquestions != 0){
episoq()
}
}
})
デフォルトのPopup Menuを消す
code:style.css
.popup-menu .strike-button,
.popup-menu .italic-button,
.popup-menu .copy-plain-button,
.popup-menu .link-button,
.popup-menu .strong-button {
display: none !important;
}
PopupMenuからEpisoPassを呼ぶ
code:script.js
scrapbox.PopupMenu.addButton({
title: '暗号化/復号',
onClick: text => {
window.open(https://s3-ap-northeast-1.amazonaws.com/masui.org/e/a/eab4a39ed37c0c467874d8ec32a320e1.html?seed=${text})
}
})