What is Kalenuxer?
Kalenuxer is the internal build system Kalenux uses to build, maintain, and deploy every web product. It was created because existing static site generators were either too opinionated for the kind of server-rendered Go template integration the projects needed, or too complex to keep lightweight for simple marketing and product pages. Kalenuxer sits between a static site generator and a custom build tool - it handles templating, asset processing, multilingual content, and deployment, but stays out of the way of the backend architecture.
The template system is built around two primitives: include directives (! include_name !) and variable substitution ({ variable_name }). HTML source files reference named templates which are injected at build time. Variables are resolved from per-language JSON data files, allowing the same HTML template to produce different output for each locale without duplicating markup. The build tracks file modification timestamps so only changed files are reprocessed on each run, making incremental builds fast even in large projects.
Every Kalenux web product - Kalenux, Whats Your IQ, File Converter Free, and QR & Barcode Tool - is built and deployed using Kalenuxer. It is not a framework designed for external distribution or broad adoption; it's a production tool built to solve specific real-world requirements and refined through years of operating actual products. The source is available on GitHub for those who want to study or adapt it.
What it does
Template include system
HTML source files use directives to pull in reusable template fragments at build time. Headers, footers, navigation, and cookie consent are written once and included everywhere. Changes to a template propagate across all pages on the next build.
Variable substitution
All user-facing strings, metadata, and configuration values are defined in JSON data files and referenced in templates as { variable_name }. This keeps HTML clean of hardcoded content and makes site-wide text changes a single-file edit.
Multilingual JSON data architecture
Each language gets its own JSON data file (en.json, de.json, etc.) with the same key structure. The build processes each language independently, producing a complete set of output files per locale. Fifteen-plus languages are supported without any change to the HTML templates.
Incremental builds
File modification timestamps are tracked in JSON store files under store/times/. On each build run, only files newer than their last-processed timestamp are rebuilt. CSS, JS, HTML templates, and content data are tracked independently so changing a stylesheet does not trigger an HTML rebuild.
CSS and JS processing
Stylesheets and scripts are minified, versioned with content hashes, and injected into HTML pages automatically. The asset manifest (datas/html.json) maps logical names to file paths, keeping HTML templates decoupled from physical file names.
Image optimisation
PNG, JPEG, and WebP images are processed and optimised during the build. Responsive image variants can be generated from source files.
Automated SSH/SCP deployment
Deploy scripts handle syncing the built dist/ directory to production servers over SSH/SCP. Three deploy modes - frontend (CSS/JS/HTML only, no restart), api (Go binary rebuild + Docker), and full (everything) - match the scope of what changed.
Go template integration
Server-rendered pages use Go's html/template package for dynamic content (article pages, user dashboards). Kalenuxer handles the static shell and asset pipeline; Go templates handle the dynamic inner content. Both parts of the system coexist cleanly.
How it's built
Kalenuxer is a Node.js CLI tool. The build pipeline runs as a sequence of async stages: plugins, icons, fonts, CSS, JS, images, HTML templates, HTML pages, API handler files, and deployment. Each stage reads source files, processes them, and writes output to the dist/ directory. The store/times/ directory holds JSON files tracking the last-processed timestamp per file, enabling incremental rebuilds.
Technologies used
Guides
Getting Started
Prerequisites, project structure, your first build, and understanding the output directory.
How to Use
CLI reference, build modes, the -unsafe flag, forcing rebuilds, and the asset manifest format.
Template System
Include directives, template file resolution, URL mapping, and how pages and templates relate to each other.
Data & Variables
JSON data file structure, { variable } substitution, the
Multilingual
How Kalenuxer builds 15+ language variants from one template, output structure, adding a new language, and RTL support.
Deployment
The three deploy modes (frontend / api / full), SSH key setup, syncing dist to the server, and environment variables.