Build your stack with Handlebars.js for create static pages.
npm install tiny-compilator handlebars
Create a Compilator instance with in arguments the paths (glob pattern is available) of layouts, helpers & partials folders. Then call render method of your instance with the path of your page and data to pass:
const Compilator = require("tiny-compilator");
const compile = new Compilator({
helpers: "path/to/helper/folder/**/*.js",
layouts: "path/to/layout/folder",
partials: "path/to/partials/folder/**",
});
compile.render("path/to/your/page", data); //=> return html compiled
In top of your page you must declare in attribute the layout chosen as this example:
---
layout: "default"
---
<!-- html page -->
In your layout html you must call the partial handlebars 'body' where all the page content must be placed:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
{{> body }}
</body>
</html>