# Fes A lightweight static site generator built with Go and Lua. Write your websites in Lua and generate beautiful HTML with a modern dark theme. ## Features - 🚀 **Simple & Fast**: Minimal setup, fast development workflow - 🎨 **Beautiful Default Theme**: Modern dark theme with clean typography - 📝 **Lua-Powered**: Write your site logic in Lua for flexibility - ⚙️ **TOML Configuration**: Simple configuration via `Fes.toml` - 🔧 **Easy CLI**: Two simple commands to get started ## Installation ### Prerequisites - Go 1.25.4 or later - Git (for author name detection) ### Build from Source ```bash git clone cd fes go build -o fes ``` ## Usage ### Create a New Project ```bash fes new ``` This creates a new project directory with: - `www/index.lua` - Your main Lua file - `Fes.toml` - Project configuration ### Run Development Server ```bash fes run [-p ] ``` Starts a local development server (default port: 3000). Example: ```bash fes run my-site -p 8080 ``` ## Project Structure ``` my-site/ ├── Fes.toml # Project configuration └── www/ └── index.lua # Main Lua file ``` ## Configuration Edit `Fes.toml` to configure your site: ```toml [site] name = "My Site" version = "0.0.1" authors = ["Your Name"] [fes] version = "1.0.0" CUSTOM_CSS = "" # Optional custom CSS ``` ## Writing Your Site Your `www/index.lua` file should use the Fes API to build your site: ```lua local fes = require("fes") local site = fes.site_builder() site:h1("Hello, World!") site:h2("Welcome to Fes") site:custom("

This is a custom HTML paragraph.

") return site ``` ### Available Methods - `site:h1(text)` - Heading 1 - `site:h2(text)` - Heading 2 - `site:h3(text)` - Heading 3 - `site:h4(text)` - Heading 4 - `site:h5(text)` - Heading 5 - `site:h6(text)` - Heading 6 - `site:custom(html)` - Insert custom HTML - `site:version()` - Get site version from config ### Standard Library Access version information via `fes.std`: ```lua local fes = require("fes") local site = fes.site_builder() site:h2("Fes version: " .. fes.std.fes_version()) site:h2("Site version: " .. fes.std.site_version()) return site ``` ## Example See the `test/` directory for a complete example project. ## License ISC License Copyright (c) 2025 fSD See `COPYING` for full license text.