import SSSG from "sssg"; import Variables from "sssg/src/plugins/variables"; import Dev from "sssg/src/plugins/dev"; import TSCompiler from "sssg/src/plugins/ts-compiler"; import MarkdownMetadata from "sssg/src/plugins/markdown-metadata"; import MarkdownCompiler from "sssg/src/plugins/markdown-compiler"; import * as path from "path"; import * as fs from "fs"; const sssg = new SSSG({ outputFolder: path.join(__dirname, "dist"), inputFolder: path.join(__dirname, "website"), }); await sssg.run({ plugins: [ new Variables(() => { const variables: Record = { __BLOG_POSTS__: JSON.stringify( fs.readdirSync("./website/blogs").map((z) => z.replace(".md", "")) ), }; if (fs.existsSync("./website/templates")) { for (const file of fs.readdirSync("./website/templates")) { const id = file.toUpperCase().replace(".HTML", ""); variables["__TEMPLATE_" + id + "__"] = fs .readFileSync(path.join("./website/templates", file)) .toString("utf8"); } } return variables; }), new TSCompiler(), new MarkdownMetadata(), new MarkdownCompiler(), new Dev(sssg), ], }); await sssg.build();