増井俊之
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()
}
}
})
code:script.js__
scrapbox.PageMenu.addItem({
title: 'NewButton',
onClick: () => alert('Hello, Scrapbox!'),
})
code:script.js___
function select(a,n){
const shuffled = a.slice().sort(() => 0.5 - Math.random());
// 先頭からn個取り出す
return shuffled.slice(0, n);
}
function list(){
var s = ""
var answers = []
var questions = []
scrapbox.Project.pages.forEach ( page => {
if(page.title.match(/\?$/)){
questions.push(page.title)
}
else {
if(page.exists && !page.title.match(/^_/) && !page.title.match(/_$/) && page.title!='増井俊之' && page.title!='settings'){
answers.push(page.title)
}
}
}
)
//console.log(answers.sort().join(';'))
var answers2 = []
var b
answers.sort().forEach ( answer => {
b = answer.match(/^(\w+\s+)?(.*$)/)
}
)
//console.log(answers2.join(';'))
//alert(scrapbox.Project.pages1.title) var qstr = select(questions,10).join(';')
var astr = answers2.join(';')
//console.log(http://episopass.com/?questions=${qstr}&answers=${astr})
location.href = http://episopass.com/?questions=${qstr}&answers=${astr}&n=10
}
document.addEventListener('keydown', e => {
if (e.key == 'c' && e.ctrlKey){ // Ctrl-Cで実行
list()
}
})