20 lines
625 B
JavaScript
20 lines
625 B
JavaScript
const { parse } = require('@ltd/j-toml');
|
|
const { render } = require('mustache');
|
|
const { readFile, writeFile } = require('node:fs/promises');
|
|
const { resolve } = require('node:path');
|
|
|
|
async function compile() {
|
|
const confPath = resolve('./config.toml');
|
|
const confToml = await readFile(confPath, { encoding: 'utf8' });
|
|
const config = parse(confToml);
|
|
|
|
const tempPath = resolve('./index.html');
|
|
const template = await readFile(tempPath, { encoding: 'utf8' });
|
|
|
|
const out = render(template, config);
|
|
const outPath = resolve('./build/index.html');
|
|
|
|
await writeFile(outPath, out);
|
|
}
|
|
|
|
compile();
|