Why Revela?
Built for photographers. While other static site generators are designed for blogs and documentation, Revela focuses on what matters most: showcasing your images beautifully.
Single binary, zero dependencies. No Node.js, no ImageMagick, no package managers. Download, unzip, run — on Windows, macOS, and Linux.
⚡ Blazing Fast
NetVips image processing — 3-5× faster than ImageMagick. Smart change detection only regenerates what's actually changed.
🖼️ Modern Formats
Automatic AVIF, WebP, and JPEG generation. Responsive <picture> elements and LQIP placeholders — no JavaScript needed.
🎨 Beautiful Themes
Minimalist gallery themes that put your photos front and center. Dark mode, theme overrides, and customizable variables.
🔌 Extensible
NuGet-based plugin system: OneDrive sync, EXIF statistics, Gzip/Brotli compression, local dev server, and more.
See it in action
photo.kirk.one is a real photography portfolio built entirely with Revela and the Lumina theme.
Quick Start
1. Download Revela
Download the latest release for your platform:
2. Run the Setup Wizard
Run revela without arguments — the interactive setup wizard guides you through everything:
revela
It creates your project structure, configures your theme, and gets you ready to go. No config files to write manually.
3. Add your photos
Drop your images into the source/ folder and organize them into galleries:
source/
├── _index.revela # Homepage
├── Landscapes/
│ ├── _index.revela # Gallery metadata
│ └── sunset.jpg
└── Portraits/
└── portrait-01.jpg
4. Generate & Preview
revela generate all
revela serve
Open http://localhost:8080 and see your portfolio!
Features
| Feature | Description |
|---|---|
| AVIF, WebP, JPEG | Modern image formats with configurable quality per format |
| LQIP Placeholders | CSS-only low-quality image placeholders — no JavaScript |
| EXIF Extraction | Automatic camera, lens, and settings metadata |
| Incremental Builds | Smart change detection — only regenerate what's changed |
| Gzip & Brotli | Static compression for fast delivery (via plugin) |
| Smart Sorting | Sort by date, filename, or custom order |
| Theme Overrides | Customize any template or variable without forking |
| Multiple Sources | Local files, OneDrive, or custom source plugins |
| Pure Static Output | No server, no database, no tracking — just files. GDPR-friendly by default |
| Setup Wizard | Interactive setup — no config files to write manually |
| Easy Deployment | Works with GitHub Pages, Netlify, any web host |
Join the Community
Revela is open source and actively developed. Contributions welcome!
This website is built with Revela. Curious how? See how we built it →