const fs = require("fs-extra") const path = require("path") const chalk = require("chalk") const { attempt, readSnippets, getCodeBlocks, getSection, getTitle, getTextualContent } = require("./util"); console.time("Extractor"); attempt("snippet_data.json generation", () => { const output = Object.entries(readSnippets()).map(([name, contents]) => { const title = getTitle(contents); const text = getTextualContent(contents); const codeBlocks = getCodeBlocks(contents); const notes = getSection("#### Notes", contents, false) .split("\n") .map(v => v.replace(/[*-] /g, "")) .filter(v => v.trim() !== "") return { name, title, text, codeBlocks, expertise: parseInt( (contents.match(//) || [])[1].split(",").map(v => v.trim()), notes } }) fs.writeFileSync("./data/snippet_data.json", JSON.stringify(output, null, 2)) }) console.log(`${chalk.green("SUCCESS!")} snippet_data.json file generated!`); console.timeEnd("Extractor");