ページタイトル一覧を取得する
https://gyazo.com/18238690f27227842da945c903fc7c40
Console開いて実行すればOK
code:js
;(async () => {
return
}
const sleep = async (ms) => {
return new Promise((resolve) => setTimeout(resolve, ms))
}
const getData = async (url) => {
const res = await fetch(url)
const data = await res.json()
return data
}
const getTitles = (data) => {
return data.pages.map((page) => page.title)
}
const print = (body) => {
const url = URL.createObjectURL(
type: 'text/plain',
})
)
window.open(url)
}
const pageCount = (
await getData(https://scrapbox.io/api/pages/${scrapbox.Project.name}/)
).count
const requestCount = Math.floor(pageCount / 1000 + 1)
const urls = []
for (let i = 0; i < requestCount; i++) {
const skipCount = i * 1000
urls.push(
https://scrapbox.io/api/pages/${scrapbox.Project.name}?limit=1000&skip=${skipCount}
)
}
const titles = []
for (const url of urls) {
const data = await getData(url)
titles.push(...getTitles(data))
await sleep(1000)
console.log(done: ${url})
}
const sorted = titles.sort((a, b) => {
return a.toLowerCase().localeCompare(b.toLowerCase())
})
print(sorted.join('\n'))
})()