chimera

chimera is a library for building static websites in Luwu. It turns pages made of classes like Paragraph, Menu and CodeBlock into ready-to-publish HTML.

A quick look

Here's a small release notes section with the code that builds it underneath. The tabs, the "What changed?" toggle and all of the colors come with chimera and follow whichever theme you pick, and you didn't have to write any CSS or JavaScript for them.

Version 2.0

Released October 2026.

curl -fsSL https://example.com/install.sh | sh
Full changelog
const install = Tabs({
    Tab("Linux", CodeBlock("curl -fsSL https://example.com/install.sh | sh", "bash")),
    Tab("Windows", CodeBlock("winget install example", "shell")),
})
const changes = Paragraph("Saves load twice as fast. Old saves still work.")

const notes = Section {
    h3("Version 2.0"),
    Paragraph("Released October 2026."),
    install,
    Row({ Toggle("What changed?", changes), Link("Full changelog", "#") }):align("center"),
    changes:hidden(),
}

Checked by default

Luwu type checks in strict mode by default, and chimera describes CSS values with Luwu's type function validators. The analyzer checks every style you write against them. A wrong unit or a misspelled keyword shows up in your editor before you ever build the page. Hover the squiggles:

const .{ elements.{ Paragraph }, components.{ Card } } = require("@chimera")

const note = Card("Heads up", Paragraph("Back up your saves."))
    :style({ padding = "1rx", display = "flexx" })

Both messages come straight from luwu-analyze.

Where to go next

Sites and pages

Pages, nested folders, links and tables of contents.

Components

Menus, dropdowns, tabs, toggles, cards and a theme switcher.

Code

Luwu highlighting at build time, squiggles and hovers.

Theming

Light and dark defaults, Catppuccin, and themes of your own.

Styling

Typed CSS that reads theme tokens.

Custom components

Your own components, written once as classes.

This site is built with chimera. Its source is examples/site.luwu.