Files
lux/website/lux-site/README.md
Brandon Lucas fe985c96f5 feat: redesign website to showcase all Lux capabilities
- New tagline: "The Language That Changes Everything"
- Highlight 6 key features: algebraic effects, behavioral types,
  schema evolution, dual compilation, native performance, batteries included
- Add sections for behavioral types (is pure, is total, is idempotent)
- Add section for schema evolution with migration examples
- Add section for dual compilation (C and JavaScript)
- Add "Why Lux?" comparisons (vs Haskell, Rust, Go, TypeScript, Elm, Zig)
- Add built-in effects showcase (Console, File, Http, Sql, etc.)
- Add developer tools section (package manager, LSP, REPL, etc.)
- Fix navigation to use anchor links (single-page site)
- Update footer to link to GitHub docs/examples
- Add README with local testing instructions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 06:59:16 -05:00

73 lines
1.7 KiB
Markdown

# Lux Website
## Testing Locally
The website is a static HTML site. To test it with working navigation:
### Option 1: Python (simplest)
```bash
cd website/lux-site/dist
python -m http.server 8000
# Open http://localhost:8000
```
### Option 2: Node.js
```bash
npx serve website/lux-site/dist
# Open http://localhost:3000
```
### Option 3: Nix
```bash
nix-shell -p python3 --run "cd website/lux-site/dist && python -m http.server 8000"
```
### Option 4: Direct file (limited)
Open `website/lux-site/dist/index.html` directly in a browser. Navigation links will work since they're anchor links (`#features`, `#effects`, etc.), but this won't work for multi-page setups.
## Structure
```
website/lux-site/
├── dist/
│ ├── index.html # Main website
│ └── static/
│ └── style.css # Styles
├── src/
│ ├── components.lux # Lux components (for future generation)
│ ├── pages.lux # Page templates
│ └── generate.lux # Site generator
├── LUX_WEAKNESSES.md # Issues found during development
└── README.md # This file
```
## Building with Lux
Once the module system is working (fixed!), you can generate the site:
```bash
./target/release/lux website/lux-site/src/generate.lux
```
The HTML module is now functional and can render HTML from Lux code:
```lux
import stdlib/html
let page = html.div([html.class("container")], [
html.h1([], [html.text("Hello!")])
])
Console.print(html.render(page))
// Output: <div class="container"><h1>Hello!</h1></div>
```
## Deployment
For GitHub Pages or any static hosting:
```bash
# Copy dist folder to your hosting
cp -r website/lux-site/dist/* /path/to/deploy/
```