mirror of
https://github.com/mprojectscode/obsidian-bases-charts-plugin.git
synced 2026-07-22 06:43:19 +00:00
38 lines
979 B
TypeScript
38 lines
979 B
TypeScript
import * as fs from 'node:fs/promises';
|
|
import neatCsv from 'neat-csv';
|
|
|
|
async function generateMarkdownFiles(datasetName: string) {
|
|
const csv = Bun.file(`exampleData/${datasetName}.csv`);
|
|
const text = await csv.text();
|
|
|
|
const data = await neatCsv(text);
|
|
|
|
console.log(`Found ${data.length} ${datasetName} entries`);
|
|
|
|
if (await fs.exists(`exampleVault/${datasetName}`)) {
|
|
await fs.rm(`exampleVault/${datasetName}`, { recursive: true });
|
|
}
|
|
|
|
await fs.mkdir(`exampleVault/${datasetName}`, { recursive: true });
|
|
|
|
let i = 0;
|
|
for (const entry of data) {
|
|
const yaml = Object.entries(entry)
|
|
.map(([key, value]) => `${key}: ${value}`)
|
|
.join('\n');
|
|
const content = `---\n${yaml}\n---\n`;
|
|
|
|
const file = Bun.file(`exampleVault/${datasetName}/${i}.md`);
|
|
await file.write(content);
|
|
|
|
i++;
|
|
}
|
|
|
|
console.log(`Created ${data.length} ${datasetName} notes`);
|
|
}
|
|
|
|
generateMarkdownFiles('aapl');
|
|
generateMarkdownFiles('penguins');
|
|
generateMarkdownFiles('movies');
|
|
|
|
export {};
|