<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WebFluent — The Web-First Language</title>
<meta name="description" content="A programming language that compiles to HTML, CSS, and JavaScript. Build SPAs and static sites with built-in components, reactivity, routing, i18n, and animations.">
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<div id="app">
<div class="wf-row">
<div class="wf-container">
<div class="wf-spacer"></div>
<h1 class="wf-heading wf-heading--h1 wf-text--center wf-animate-slideUp">The Web-First Language</h1>
<div class="wf-spacer"></div>
<p class="wf-text wf-text--muted wf-text--center wf-animate-fadeIn">A programming language that compiles to HTML, CSS, and JavaScript.</p>
<p class="wf-text wf-text--muted wf-text--center wf-animate-fadeIn">Built-in components, reactivity, routing, i18n, animations, and SSG.</p>
<div class="wf-spacer"></div>
<div class="wf-row">
<button class="wf-btn wf-btn--primary wf-btn--large">
Get Started
</button>
<button class="wf-btn wf-btn--large">
View Guide
</button>
</div>
<div class="wf-spacer"></div>
<div class="wf-card wf-card--outlined">
<div class="wf-card__body">
<code class="wf-code">Page Home (path: "/") {
Container {
Heading("Hello, WebFluent!", h1)
Text("Build for the web. Nothing else.")
Button("Get Started", primary, large) {
navigate("/docs")
}
}
}</code>
</div>
</div>
<div class="wf-spacer"></div>
<hr class="wf-divider">
<div class="wf-spacer"></div>
<h2 class="wf-heading wf-heading--h2 wf-text--center">Try It Live</h2>
<p class="wf-text wf-text--muted wf-text--center">These are real WebFluent components running in your browser.</p>
<div class="wf-spacer"></div>
<div class="wf-grid" style="grid-template-columns: repeat(2, 1fr)">
<div class="wf-card wf-card--elevated wf-animate-fadeIn">
<div class="wf-card__header">
<h2 class="wf-heading wf-heading--h2">Reactive Counter</h2>
</div>
<div class="wf-card__body">
<div class="wf-row">
<button class="wf-btn wf-btn--large">
-
</button>
<h2 class="wf-heading wf-heading--h2 wf-heading--primary"></h2>
<button class="wf-btn wf-btn--primary wf-btn--large">
+
</button>
</div>
<div class="wf-spacer"></div>
<p class="wf-text wf-text--muted wf-text--small">Click the buttons. The number updates instantly.</p>
</div>
</div>
<div class="wf-card wf-card--elevated wf-animate-fadeIn">
<div class="wf-card__header">
<h2 class="wf-heading wf-heading--h2">Two-Way Binding</h2>
</div>
<div class="wf-card__body">
<input class="wf-input" type="text">
<div class="wf-spacer"></div>
<p class="wf-text wf-text--muted wf-text--small">The alert updates as you type.</p>
</div>
</div>
<div class="wf-card wf-card--elevated wf-animate-fadeIn">
<div class="wf-card__header">
<h2 class="wf-heading wf-heading--h2">Conditional Rendering</h2>
</div>
<div class="wf-card__body">
<label class="wf-switch"></label>
<div class="wf-spacer"></div>
</div>
</div>
<div class="wf-card wf-card--elevated wf-animate-fadeIn">
<div class="wf-card__header">
<h2 class="wf-heading wf-heading--h2">Components</h2>
</div>
<div class="wf-card__body">
<div class="wf-stack">
<div class="wf-row">
<button class="wf-btn wf-btn--primary">Primary</button>
<button class="wf-btn wf-btn--danger">Danger</button>
<button class="wf-btn wf-btn--success">Success</button>
</div>
<div class="wf-row">
<span class="wf-badge wf-badge--primary">New</span>
<span class="wf-badge wf-badge--danger">Sale</span>
<span class="wf-badge wf-badge--success">Active</span>
<span class="wf-tag">WebFluent</span>
</div>
<progress class="wf-progress" value="72" max="100"></progress>
<p class="wf-text wf-text--muted wf-text--small">Button variants, badges, tags, and progress bar.</p>
</div>
</div>
</div>
</div>
<div class="wf-spacer"></div>
<hr class="wf-divider">
<div class="wf-spacer"></div>
<h2 class="wf-heading wf-heading--h2 wf-text--center">Why WebFluent?</h2>
<p class="wf-text wf-text--muted wf-text--center">Everything you need, built into the language.</p>
<div class="wf-spacer"></div>
<div class="wf-grid" style="grid-template-columns: repeat(3, 1fr)">
</div>
<div class="wf-spacer"></div>
<div class="wf-card wf-card--elevated">
<div class="wf-card__body">
<div class="wf-row">
<div class="wf-stack">
<h2 class="wf-heading wf-heading--h2">Ready to build?</h2>
<p class="wf-text wf-text--muted">Create your first project in seconds.</p>
</div>
<button class="wf-btn wf-btn--primary wf-btn--large">
Get Started
</button>
</div>
</div>
</div>
<div class="wf-spacer"></div>
</div>
</div>
</div>
<script src="./app.js"></script>
</body>
</html>