23 lines
758 B
JavaScript
23 lines
758 B
JavaScript
#!/usr/bin/env node
|
|
// Caveman template renderer — reads template + data JSON files and renders output
|
|
// Installed automatically via homelab-context post-pull hook
|
|
const caveman = require("caveman");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
const args = process.argv.slice(2);
|
|
if (args.length === 0) {
|
|
console.error("Usage: caveman <template> [data.json]");
|
|
process.exit(1);
|
|
}
|
|
|
|
const templatePath = args[0];
|
|
let data = {};
|
|
if (args.length > 1) {
|
|
data = JSON.parse(fs.readFileSync(args[1], "utf8"));
|
|
}
|
|
|
|
const template = fs.readFileSync(templatePath, "utf8");
|
|
const templateName = path.basename(templatePath, path.extname(templatePath));
|
|
caveman.register(templateName, template);
|
|
console.log(caveman.render(templateName, data).trim()); |