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>
This commit is contained in:
72
website/lux-site/README.md
Normal file
72
website/lux-site/README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# 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/
|
||||
```
|
||||
Reference in New Issue
Block a user