|
1 | 1 | import fs from 'fs' |
2 | 2 | import { promisify } from 'util' |
3 | | -import { loadRaw } from './notion' |
4 | 3 |
|
5 | | -const writeFile = promisify(fs.writeFile) |
6 | | - |
7 | | -interface PageNode { |
| 4 | +export interface PageNode { |
8 | 5 | id: string |
9 | 6 | blocks: number |
10 | 7 | pages: number |
11 | 8 | title: string |
12 | 9 | children?: PageNode[] |
13 | 10 | } |
14 | 11 |
|
15 | | -async function main() { |
16 | | - const { pageTree } = await loadRaw('texonom-raw') |
| 12 | +const writeFile = promisify(fs.writeFile) |
17 | 13 |
|
18 | | - // Generate treemap for page counts |
| 14 | +export async function generateTreemaps(folder: string, pageTree: PageNode) { |
19 | 15 | const treemapDataPages = computeMetrics(pageTree, 'pages') |
20 | 16 | const titlePages = 'Texonom PageTree' |
21 | | - const outputPathPages = 'texonom-raw/pagetree.html' |
| 17 | + const outputPathPages = `${folder}/pagetree.html` |
22 | 18 | await generateTreemapHTML(treemapDataPages, titlePages, outputPathPages) |
23 | 19 |
|
24 | | - // Generate treemap for block counts |
25 | 20 | const treemapDataBlocks = computeMetrics(pageTree, 'blocks') |
26 | 21 | const titleBlocks = 'Texonom BlockMap' |
27 | | - const outputPathBlocks = 'texonom-raw/blocktree.html' |
| 22 | + const outputPathBlocks = `${folder}/blocktree.html` |
28 | 23 | await generateTreemapHTML(treemapDataBlocks, titleBlocks, outputPathBlocks) |
29 | | - |
30 | | - console.info('Treemap HTML files generated successfully.') |
31 | 24 | } |
32 | 25 |
|
33 | 26 | interface TreemapNode { |
@@ -353,5 +346,3 @@ async function generateTreemapHTML(data: TreemapNode, title: string, outputPath: |
353 | 346 |
|
354 | 347 | await writeFile(outputPath, htmlContent, 'utf8') |
355 | 348 | } |
356 | | - |
357 | | -main().catch(error => console.error(error)) |
0 commit comments