feat: merge createSiteIndex into index.js
trickyni trickyniv56@gmail.com
Mon, 25 May 2026 13:38:10 +0300
4 files changed,
18 insertions(+),
19 deletions(-)
D
createSiteIndex.js
@@ -1,17 +0,0 @@
-import { glob } from "glob"; -import { resolve } from "path"; -import { read } from "to-vfile"; -import { matter } from "vfile-matter"; - -export async function createSiteIndex() { - const inputDir = resolve(process.cwd(), "input"); - let site = await glob(`${inputDir}/**/*.md`, { nodir: true }); - return Promise.all( - site.map(async (page) => { - let file = await read(page, "utf-8"); - matter(file); - file.data.matter.filename = file.stem; - return file.data.matter; - }), - ); -}
M
index.js
→
index.js
@@ -12,20 +12,34 @@ import remarkRehype from "remark-rehype";
import { matter } from "vfile-matter"; import { read, write } from "to-vfile"; import { unified } from "unified"; -import { createSiteIndex } from "./createSiteIndex.js"; import { emptyDir } from "fs-extra"; import cpy from "cpy"; import { glob } from "glob"; import { resolve } from "path"; +// Resolve input/putput directories respecting a project's root folder. const inputDir = resolve(process.cwd(), "input"); const outputDir = resolve(process.cwd(), "out"); + +async function createSiteIndex() { + let site = await glob(`${inputDir}/**/*.md`, { nodir: true }); + return Promise.all( + site.map(async (page) => { + let file = await read(page, "utf-8"); + matter(file); + file.data.matter.filename = file.stem; + return file.data.matter; + }), + ); +} +// mise en place emptyDir(`${outputDir}`, { recursive: true }); // clears the output folder await cpy([`${inputDir}/**`, `!${inputDir}/**/*.md`], `${outputDir}`, { flat: true, }); //copies all assets into out/ const siteIndex = await createSiteIndex(); +// main function export async function kushiyaki(filepath) { const file = await read(filepath, "utf-8"); matter(file, { strip: true });@@ -54,6 +68,7 @@ output.dirname = outputDir;
return output; } +// Loop through function for each page for (const file of await glob(`${inputDir}/**/*.md`, { nodir: true })) { await write(await kushiyaki(file)); }
M
package.json
→
package.json
@@ -1,6 +1,6 @@
{ "name": "kushiyaki", - "version": "0.1.0", + "version": "0.1.1", "description": "A tiny static site generator for grilling markdown files to perfection ", "funding": "ko-fi.com/trickyni", "repository": {