import { parseLines, TaskBlock } from "../takker99%2Ftakker-scheduler/deps.ts"; import { isDiaryPage } from "../takker99%2Ftakker-scheduler/diary.ts"; import { exportPages } from "../scrapbox-userscript-std/rest.ts"; import Parser from "../papaparse/mod.ts"; await (async () => { const result = await exportPages("takker-memex", { metadata: false }); if (!result.ok) return; const blocks: TaskBlock[] = []; for (const page of result.value.pages) { if (!isDiaryPage(page.title)) continue; for (const block of parseLines(page.lines.slice(1))) { if (typeof block === "string") continue; if (block.title.trim() !== "すいみん") continue; blocks.push(block); } } // csvデータを作る const csv = Parser.unparse(blocks.flatMap(({ title, record }) => { if(!record.start || !record.end) return []; return [[Math.round(record.start.getTime() / 1000), Math.round(record.end.getTime() /1000)]]; })); console.debug(csv); })();