# lux A slightly cursed transpiler for JSX-like syntax to Lustre in Gleam > [!CAUTION] > This project is a superset of Gleam and no tooling made > for the Gleam Programming language should be expected to > work with a codebase utilising Lux. > This project is also not affiliated with Gleam or Lustre, any > issues related to the html syntax should be reported here in > the lux repository. ## How it works It takes this lux code from the 01-hello-world lustre example ``` let styles = [#("width", "100vw"), #("height", "100vh"), #("padding", "1rem")] let app = lustre.element((

Hello, world.

Welcome to Lustre.

)) ``` and turns it into lustre ``` let styles = [#("width", "100vw"), #("height", "100vh"), #("padding", "1rem")] let app = lustre.element( html.div([attribute.style(styles)], [ html.h1([], [element.text("Hello, world.")]), html.h2([], [element.text("Welcome to Lustre.")]), ]), ) ``` ## Usage Currently running `gleam run` in the project will transpile any lux files in or below the project directory with a **.lux** extension to a **.lux.gleam** with the transpiled gleam code.