Component definition
<header class="site-header">
<a class="brand" href="/">Sklair</a>
<nav sklair-if="links"><slot></slot></nav>
<ThemeControl></ThemeControl>
</header>
Sklair is an ahead-of-time whole-project HTML compiler. Compose with components, run Lua at compile time, generate complete document trees, and leave the browser with exactly what it understands.
Sklair starts with real HTML documents, understands their dependencies as one project, and resolves the work the browser should never have been asked to do.
Components, props, slots, head contributions, assets, compile-time logic, and generated documents become ordinary HTML files. There is no virtual DOM, hydration pass, or mandatory client runtime left behind.
Props, conditions, slots, and nested components remain authoring tools. Sklair resolves every variation before deployment and leaves only the finished structure.
<header class="site-header">
<a class="brand" href="/">Sklair</a>
<nav sklair-if="links"><slot></slot></nav>
<ThemeControl></ThemeControl>
</header>
<SiteHeader links="true">
<a href="/docs/">Documentation</a>
<a href="/download/">Download</a>
</SiteHeader>
<header class="site-header">
<a class="brand" href="/">Sklair</a>
<nav>...</nav>
<button aria-label="Change colour theme">...</button>
</header>
Sklair treats composition and generation as compiler work, while keeping the source recognisably HTML.
Recursive composition, typed-by-use props, slots, head contributions, and co-located assets.
Static work once per definition, dynamic work once per instance, and explicit trusted markup.
Turn Markdown, data, or project sources into complete document trees through reusable layouts.
A small binary does the work once, then writes direct, deterministic output.
Keep the expressive source. Move the machinery to compile time. Ship the document.